# ! " In the process of offering a new technology to the marketplace the expertise of the user is often not considered. The HP Disk Array offers RAID technology with special installation and configuration features tailored for ease of use. # ! !+( 4$3,' 342/,)(4$6,21 2) =%$5(' /2&$/ $4($ 1(6924. 5;5= 6(05 $1' 6+( *429,1* '(3(1'(1&( 21 6+(0 +$5 4(57/6(' ,1 &21&(41 $%276 6+( 4(/,$%,/,6; 2) 57&+ 5;56(05 3$46,&7/$4/; ,1 6+( $4($ 2) '$6$ 5624$*( =%$5(' 5;56(05 '2 126 +$8( 6+( +,5624; 24 3(4&(36,21 2) 4(/,$%,/,6; 6+$6 0,1,&20376(4 24 0$,1)4$0( 5;56(05 +$8( %7,/6 73 28(4 6+( ;($45 !+75 ,6 ,5 12 57434,5( 6+$6 &21&(41 $%276 )$7/6 62/(4$1&( ,5 %(&20,1* $ &4,6,&$/ ,557( ,1 6+( &20071,6; !+,5 &21&(41 +$5 /(' 62 $ *4($6 '($/ 2) ,16(4(56 $1' 4(5($4&+ ,162 (:6(41$/ 5624$*( 5;5= 6(05 $1' 4('71'$1&; 5+295 6+( +$4'9$4( &20321(165 2) 6+( ,5. 44$; 1$'',6,21 62 6+( %(1(),65 2) 6+( ,5. 44$; 2))(45 $ 9,'(4$1*( 2) )($674(5 57&+ $5 34(',&6$%/( )$,/74( 126,),&$= 6,21$7620$6,& ',5.=)$,/74( '(6(&6,21 $1' $7620$6,& ',5.=)$,/= 74(4(&28(4; #+$6 4($//; ',))(4(16,$6(5 6+( ,5. 44$; )420 $0$-24,6; 2) 5,0,/$4 342'7&65 ,5 6+( )2&75 21 0$.,1* 6+( &203/(: 6(&+12/2*; 4($',/; $8$,/$%/( 62 1(6924. $'0,1,564$62459+2 0$; 126 +$8( $1 ,1='(36+ .129/('*( $%276 6(&+12/2*; 6(&+12/2*; 24 6+( 6$4*(6 23(4$6,1* 5;56(0 !+( 5,*1,),&$16 ,03428(0(16 ,1 " 3(4)240$1&( ,1 6+( )6(4 $1 ,18(56,*$6,21 2) 26+(4 5;56(05 2))(4,1* 6(&+= 5 62 3(4 ;($4 &4($6(' 6+( 1((' )24 5,0,/$4 12/2*; 9( )271' 6+$6 ,6 9$5 ',)),&7/6 62 ,156$// $1' &21),*= 3(4)240$1&( ,03428(0(165 ,1 26+(4 5;56(0 &20321(165 74( 0$1; 2) 6+(0 3423(4/; $1' 62 4(&28(4 )420 $ ',5. )$,/= 57&+ $5 0(024; $1' 5;56(0 5624$*( 03428(0(165 ,1 0(0= 74( (8(1 )24 .129/('*($%/( 1(6924. $'0,1,564$6245 #( 24; 3(4)240$1&( &$0( 0256/; )420 1(9 0(024; $4&+,6(&= 5$9 6+,5 $5 $1 23324671,6; 62 ',))(4(16,$6( 6+( ,5. 44$; 674(5 $1' $/*24,6+05 4$6+(4 6+$1 ,1 6+( 0(024; &20321(165 342'7&6 )420 26+(4 ',5. $44$; 342'7&65 (9 ($5(=2)=75( ,0,/$4/; 0$*1(6,& +$4' ',5. 6(&+12/2*; 6+( 0256 &20= 52)69$4( 76,/,6,(5 9(4( '(5,*1(' 53(&,),&$//; 62 5,03/,); 6+( 021/; 75(' &20321(16 )24 5;56(0 5624$*( &27/' 126 342= 75$%,/,6; 2) 6+( ,5. 44$; 342'7&6 8,'( 6+( 1(('(' 3(4)240$1&( ,03428(0(165 6(&+12/2*; !+( ),1$/ 342'7&6 ,1&/7'(5 5(8(4$/ &203/(0(16$4; ($5(=2)= &$//(' ('71'$16 44$; 2) 1(:3(15,8( ,5.5 9$5 75()($674(5 57&+ $5 342325(' $5 $ 0(6+2' )24 ,03428,1* 6+( 6+427*+376 )24 • ',5. $44$; &21642//(4 236,0,<(' )24 3(4)240$1&( 9,6+ 5;56(0 5624$*( !+( %$5,& 342325$/ 57**(56(' 6+$6 6+( 6+(5(/(&6(' ',5.5 %$1'9,'6+ &27/' %( ,03428(' %; 534($',1* 6+( '$6$ 28(4 • $4' ',5.5 34(-703(4(' &21),*74(' $1' 02716(' ,1 +26= 07/6,3/( +$4' ',5.5 62 2%6$,1 520( /(8(/ 2) &21&744(1&; 3/7*(1&/2574(5 29(8(4 %(&$75( 2) 6+( 71$&&(36$%/( 64$'(=2)) ,1 5;56(0 • ',5. &$%,1(6 9,6+ $7620$6,& 5(/(&6,21 5624$*( 4(/,$%,/,6; &$75(' %; 6+,5 '$6$ ',564,%76,21 07/6,3/( '$6$=4('71'$1&;$/*24,6+05 /(8(/5 9(4( 342325(' * Hot-plug in this context is the ability to replace a disk while the system is in operation. %4,() 67624,$/ 21 6(&+12/2*; ,5 *,8(1 21 3$*( !+( %(1(),65 2) ,03428(' 6+427*+376 $1' '$6$ 3426(&= 6,21 +$8( 0$'( 6(&+12/2*; 9,'(/; $&&(36(' 21 &20= 376(4 3/$6)2405 2) $// .,1'5,1&/7',1* 5(48(45 #+,/( 0$1; $4&+,6(&674(5 &$1 ()),&,(16/;,03/(0(16 $ 5624$*( 5;56(0 6+( *(1(4,& $4&+,6(&674( ,1&/7'(56+( 0(&+$1,50 )24 ,03/(0(16,1* 21( 24 024( 2) 6+( $/*24,6+056;3,&$//; $ +$4' ',5. &21642//(4 $1' $ 0(6+2' )24 &20071,&$6,1*$1' &21642//,1* $ *4273 2) +$4' ',5.5 5(( ,* !+( ,5. 44$; ,03/(0(165 75,1* $ +$4'9$4(= %$5(' =62= &21642//(4 ,1 9+,&+ 07/6,3/( $/*2= 4,6+05 $4( ,03/(0(16(' ,1 6+( &21642//(45 ),409$4( &21= 642//(4 ,03/(0(16,1* ,5 &20021/; 4()(44(' 62 $5 $ ',5. $44$; &21642//(4 24 6+( ,5. 44$; &21642//(4 ),8( +$4' ',5.5 $4( &211(&6(' 62 ($&+ 2)6+( &21642//(45 692 %75(5 *,8,1* $ 626$/ 2) %;6(5 $5570,1* /(8(/ 2) 3426(&6(' &$3$&,6; &21642//(' %; ($&+ &21642//(4,* Host System Software or Hardware RAID Disk Array Controller Disks (1(4,& $4&+,6(&674( 71( (9/(66=$&.$4' 2741$/ Disk Array Controller (Installed in Server) SCSI-II Controller (Installed in Server) DAT Drive Disk Module (0.5 Gbyte, 1 Gbytes, or 2 Gbytes) • +"03.! !/%#*! /,!%"%((5 "+. !/5 +*"%#1.0%+* * %*7 0!#.0%+* +" 0$! /5/0!) %*0+ *5 *!03+.' +,!.0%*# /5/0!) $%/ .0%(! !/.%!/ 0$! !%/%+*/ ) ! 1.%*# 0$! !/%#* ,$/! +" 0$! %/' ..5 0$0 .!/1(0! %* )'%*# 0$! 0!$*+(+#5 /%#*%"%*0(5 )+.! 1/(! "+. 0$! 05,%( 1/!. 3%0$+10 /.%"%%*# 2(1(! ,.+ 10 "!01.!/ * 05,%( +),10!. 0$!.! .! )*5 ,(!/ 0+ /0+.! %*"+.7 )0%+* !%0$!. 0!),+..%(5 +. ,!.)*!*0(5 +)! +" 0$!/! /0+.#! )! % %*(1 ! /$ +3 2% !+ .! $! 3.%0! $! $. %/'/ "(!4%(! %/' * 0,! $0!2!. 0$! /0+.#! )! %1) +),10!. /0+.#! * #!*!.((5 ! (//%"%! / !%0$!. ,.%).5 /0+.#! +. /!+* .5 /0+.#! $! +),+*!*0/ +" * /0+.#! /5/0!) $! 7 +*7 0.+((!. 0$! %/' ..5 +*0.+((!. * 0$! %/' )+ 1(! )'! 1, 0$! %/' ..5 .%).5 /0+.#! %/ +"0!* .!"!..! 0+ / 0$! /5/0!) )!)+.5 +. &1/0 0$! )!)+.5 $! )!)+.5 %/ 05,%((5 ) ! ".+) /!)%+* 10+. +),+*!*0/ * %/ $.0!.%6! / !%*# 2!.5 "/0 2+(0%(! * !4,!*/%2! +),10!./ 1/! )!)+.5 "+. %))! %0! * 0!),+..5 /0+.#! $%/ %/ 0$! /0+.#! +*0%*%*# 0$! 0 0$0 0$! +,!.0!/ +* * )*%,17 (0!/ +/0 /!.2!./ 0+ 5 05,%((5 $2! +10 50!/ 0+ 50!/ +" ,.%).5 /0+.#! !+* .5 /0+.#! %/ +"0!* .!"!..! 0+ / 0$! /5/0!) /0+.#! +. &1/0 0$! /0+.#! $! /0+.#! )! %1) %/ )+/0 +"0!* )#7 *!0% * %/ /(+3!. *+*2+(0%(! * )1$ $!,!. 0$* )!)+.5 $! /0+.#! %/ 0$!.!"+.! 1/! / ,!.)*!*0 .!7 ,+/%0+.5 +" %*"+.)0%+* !.2!./ 05,%((5 $2! !03!!* 50! * 50!/ +" /0+.#! Application (e.g., Word Processor) 4. Operating System Request Completed: File is in memory ready for application to operate on it. 1. Operating System Request: Read file Operating System 3. Return Completed I/O Request 2. I/O Request to Storage Subsystem 2: Read file request is translated into storage subsystem-specific commands. Storage Subsystem 1 (e.g., Flexible Disk) Storage Subsystem 2 (e.g., RAID System) 05,%( .!-1!/0 "(+3 1*! !3(!007'. +1.*( # - '/$*).#$+ /2 ) /# . /2* /4+ . *! ./*-" $. . *) #*2 $)!*-(/$*) $. /-).! -- $) /4+$' ++'$/$*) # ) ) ++'$/$*) .0# . 2*- +-* ..*- 2)/. /* *+ ) !$' $/ $. 0.0''4 /# *+ -/$)" .4./ ( /#/ $. - .+*)6 .$' !*- *(+' /$)" /#/ - ,0 ./ + )$)" *) 2# - /# !$' $. 0-- )/'4 '*/ $/ *0' '- 4 $) ( (*-4 /# *+ -/$)" .4./ ( (4 " ) -/ *) *- (*- - ,0 ./. /* /# ./*-" .4./ ( /* -$)" /# !$' $)/* ( (*-4 #$. +-*6 .. $. $''0./-/ $) $" *0+' *! $..0 . .#*0' +*$)/ *0/ # - $-./ /# ++'$/$*) * . )*/ &)*2 #*2 *- 2# - /# *+ -/$)" .4.6 / ( #. ./*- /# !$' $/ $. - ,0 ./$)" $($'-'4 /# *+ -/6 $)" .4./ ( (4 )*/ &)*2 #*2 *- 2# - /# ./*-" .0.4.6 / ( #. ./*- /# / (&$)" 0+ /# !$' *- $)./) $) .4./ ( *) - ,0 ./ !-*( /# *+ -/$)" .4./ ( (4 - .0'/ $) (0'/$+' /-).! -. $) /# ./*-6 " .0.4./ ( $) . +" ($--*-. *- 0+'$6 / . '' $)!*-(/$*) !-*( *) #- $.& /* )*/# - 1 -4 /$( /# *+ -/$)" .4./ ( - ,0 ./. !$' /* 2-$// ) /# .0.4./ ( (0./ 2-$/ /#$. !$' /2$ ! /# .06 .4./ ( $. 0.$)" 2-$/$)" !$' (4 - .0'/ $) (0'/$+' - . ) 2-$/ . $) . 1 -' /-).! -. (4 - .0'/ !-*( .$)"' - ,0 ./ !-*( /# *+ -/$)" .4./ ( .*( /#$)" $) /# .4./ ( (0./ #1 /# $)/ ''$" ) /* $./-$0/ /# / +-*+ -'4 ) &)*2 #*2 /# / .#*0' - /-$ 1 1$*0.'4 $) (*0'- .4./ ( .0# . /# *) .-$ *1 ()4 +6 +-*# . /* $(+' ( )/$)" /#$. $)/ ''$" ) $) ./*-" .4./ ( ) $("$) # !*''*2$)" . /$*) 3+'*- . /# (*./ *((*) ./*-" .4./ ( ++-*# . ) .*( *! /# 1)/" . ) $.1)/" . *! /# $!! - )/ +6 +-*# . 1 -' *+ -/$)" .4./ (. )*2 *!! - .*( ( /#* *! / - 0))4 4 $(+' ( )/$)" /# '"*-$/#(. . +-/ *! /# *+ -/$)" .4./ ( . $" # 1)/" *! /#$. ++-*# $. /#/ /# - $. )* $/$*)' *./ /* /# 0. - *26 1 - /# + -!*-() (4 !! / $) 6$)/ ).$1 +6 +'$/$*) . -1 - )1$-*)( )/. .0# . /. )"$) . */ 1 -4 ' 1 ' $. *!! - /#-*0"# /# *+ -/$)" .4.6 / ( ) .*( *+ -/$)" .4./ (. *!! - )* / - 0))4 .# ( / '' #$. #. +-*(+/ .*( ./*-" .4./ ( 1 )6 *-. /* +-*1$ 0./*( .*!/2- /#/ $(+' ( )/. /# .$- .# ( $" .#*2. /# .*!/2- -#$/ /0- $) 2#$# /# /# .$- ' 1 ' $. +-*1$ 2$/# ) $)/ ''$6 " )/ 1$ -$1 - Hardware RAID Architectures. ) )1$-*)( )/. 2# - /# . -1 - $.0. !*- 6$)/ ).$1 ++'$/$*). $)" /# *1 -# *! 3 0/$)" '"*-$/#(. (4 .$")$!$)/'4 Host PC RAID Provided by the Operating System Device Driver SCSI Controller External Storage System (a) 2$ 1-$ /4 *! -#$/ /0- . #1 ) 3+'*- $) /# !!*-/ /* +-*1$ // - /#-*0"#+0/ ) / +-*/ /$*) . *) / #)*'*"4 # . -#$/ /0- . ) $6 1$ $)/* /2* (%*-/ "*-$ . . *) 2# /# - /# '"*-$/#(. - 3 0/ $) /# #*./ *- $/ # ) 0.$)" /# #*./ /# -#$/ /0- $. " ) -''4 /#*0"#/ *! . .*!/2- .*'0/$*) )2# ) $/ $. 0. /# .*'0/$*) $. .$ /* #1 #-2- -#$6 / /0- # (%*- $!! - ) /2 ) /# . -#$/ /0- . (*./ *!/ ) (*0)/. /* /- 6*!! /2 ) *./ )+ -!*-6 () Software RAID Architectures. $) .*!/2- -#$/ 6 /0- 0. . /# #*./ .4./ ( /* 3 0/ *) *1$*0. $.6 1)/" 2$/#/#$. ++-*# $. /# +*/ )/$' !*- '*2 - *1 -6 '' .4./ (+ -!*-() /#) 2$/# $/ . $) /# #-2- -#$/ /0- *2 1 - $) ()4 )1$-*)6 ( )/. /# #*./ $. )*/0. /* $/. !0'' +$'$/4 # - 6 !*- 0.$)" /# . -1 - /* 3 0/ '"*-$/#(. +-*6 1$ . /# (*./ *./6 !! /$1 -#$/ /0- 2#$' ./$'' +-*1$$)" ,0/ .4./ ( + -!*-() Host PC Operating System RAID Provided by a Device Driver SCSI Controller External Storage System (b) *!/2- ++-*# . /* $(+' ( )/$)" /# / #)*'*"4 *!/2- $).$ /# *+ -/$)" .4./ ( 0./*($5 .*!/2-$1 -. 0) 2' //6&- *0-)' The Need for Information Storage The trend today is to put increasingly larger amounts of an organization’s information onto some sort of electronic media for quicker, concurrent, and geographically independent access. The information being put on the electronic media is often critical to the operation of the organization. This trend has created an increasing demand for newer and better methods of electronic storage . One such electronic storage method is data protection via RAID (redundant array of inexpensive disks) technology. drives. For RAID 3 it is necessary to provide two or more data disks plus an ECC (error correcting code) disk. Data is dispersed or striped across the data disks, with the ECC disk containing an exclusive-OR of the data from the other disks. Unlike the other RAID solutions, the data is dispersed across the disk in a byte interleave rather than the typical block interleave. With the spindles all synchronized, the data is placed on the same cylinder, head, and sector at the same time. In the case of RAID 3, each drive is connected to a dedicated SCSI channel, which further ensures the performance. RAID technology finds its roots in a series of papers referred to as the Berkeley papers.1 Although these papers do not precisely define RAID, they do provide the basis for the architecture of the technology. The need for disk drive redundancy developed as the need for data integrity and system reliability became a growing issue. For example, the consequence of a single point of failure in a disk storage system could result in the failure of the entire computer system. This loss of productivity and often data was deemed unacceptable. This architecture can handle any single disk failure in the chain. If a data drive fails, data can be recovered from the failed drive by reconstructing the exclusive-OR of the remaining drives and the ECC drive. The advantage of this scheme is that redundancy is achieved at a lower cost (compared to RAID 1). The primary disadvantage is its I/O performance for small amounts of data. When an application requires the transfer of large sequential files, such as graphic images for workstations, this is the best method. Seven RAID levels are defined. Each level specifies a different disk array configuration and data protection method, and each provides a different level of reliability and performance. Since only a few of these configurations are practical for most online transaction processing systems, file servers, and workstations, RAID levels 0, 1, 3, 5, and 6 are described here. Fig. 3 shows the configuration for RAID 3. The data is striped across drives like the RAID 0 configuration. If a failure occurs, the data is reconstructed based on the parity data on disk 3. RAID 0 Although it is often debated that since RAID 0 is not redundant and should therefore not be considered as a RAID mode, nearly all RAID solutions include this mode. RAID 0 distributes the data across all the disks in the disk array configuration (see Fig. 1) Since there is no redundancy, the capacity utilization is 100 percent. Disk 1 Disk 2 Disk 3 Stripe 1 B0 B1 B2 Stripe 2 B3 B4 B5 Stripe 3 B6 B7 B8 Fig. 1. RAID 0 configuration. The data blocks in Fig. 1 are broken into three parts and striped across three disks. What this means is that while data is being retrieved on disk 1, the data on disks 2 and 3 can be requested and ready to transfer sooner than if three I/O requests were made. RAID 1 To answer the need for reliability and data integrity, system managers have often implemented a solution in which write data is mirrored on two separate disk systems. This implementation is referred to as RAID 1. The primary advantage of RAID 1 is its simplicity. RAID 1 provides a slight improvement in read performance over the other implementations. However, write performance is poor because all data is duplicated. The primary disadvantage of RAID 1 is cost, because for every byte of storage used on a system an equal amount of storage must be provided as a mirror. This results in a cost differential of 100% over standard nonredundant mass storage. In Fig. 2, the data is mirrored on each disk. In the event of a failure on disk 1, the same data is available on disk 2. Disk 1 Disk 2 Stripe 1 B0 B0 Stripe 2 B1 B1 Stripe 3 B2 B2 Disk 1 Disk 2 Stripe 1 B0 B1 Stripe 2 B2 B3 Stripe 3 B4 B5 Disk 3 Parity Data Data Protection Disk Fig. 3. RAID 3 configuration. RAID 5 RAID 5 was defined in an effort to improve the write performance of RAID 1 and RAID 3 systems. Like RAID 3, the data blocks are distributed over the disk drives in the system, but unlike RAID 3, the ECC data is also distributed across all the drives (see Fig. 4). With this configuration reads and writes can be performed in parallel. Disk 1 Disk 2 Stripe 1 B0 B1 Stripe 2 B2 B3 B4 Stripe 3 Disk 3 B5 = Parity Data Fig. 4. RAID 5 configuration. RAID 6 Like RAID 0, RAID 6 is not yet accepted as a standard RAID configuration. This configuration not only mirrors data (like RAID 1) but also stripes the information (see Fig. 5). Because the data is striped, the performance is very similar to that measured in a RAID 0 configuration. The penalty for use of this configuration is that 100 percent more disk space is required. Disk 1 Disk 2 Disk 3 Stripe 1 B0 B0 B1 Stripe 2 B1 B2 B2 Stripe 3 B3 B3 B4 Fig. 5. RAID 6 configuration. Fig. 2. RAID 1 configuration. RAID 3 The architecture for RAID 3 is often referred to as a parallel array because of the parallel method that the array controller uses in reading and writing to the disk 1. D. Patterson, G. Gibson, and R. Katz, “A Case for Redundant Arrays of Inexpensive Disks (RAID)”. ACM SIGMOD Conference Proceedings, Chicago Illinois, June 1988, pp. 109-116. .19'4 6*' 18'4#..5;56'/ 2'4(14/#0%' 5'2#4#6' ! &'&+> %#6'& 61 ':'%76+0) 6*' #.)14+6*/5 +5 6*'4'(14' 75'& +0 # *#4&9#4' #4%*+6'%674' 61 1((.1#& #.)14+6*/ ':'> %76+10 (41/ 6*' 5'48'4 ! +0%' 6*+5#4%*+6'%674' 4'37+4'5 #&&+6+10#. *#4&9#4' 6*' /#,14 &+5#&8#06#)'*'4' +5 # *+)*'4 %156 6*#0 # 51(69#4' #4%*+6'%674' *' *#4&9#4' #2241#%*'5 %#0 $' %#6')14+<'& #5 +06'4> 0#. 14':6'40#. 51.76+105 4'('44+0) 61 9*'6*'4 6*' *#4&9#4' 4'5+&'5+05+&' 14 1765+&' 6*' *156 5'48'4 06'40#. *#4&9#4' *#5 61+06'4(#%' &+4'%6.; 9+6* # *156 5;56'/ $75 57%* #5 9+6* #0 14 $75 +5- &4+8'5 #4' 6*'0 %100'%6'& 61 6*' +06'40#. *#4&9#4' &+4'%6.; 8+# 10' 14 /14' $75'5 5'' +) # "*+.'57%* # 51.76+10 /#; 1(('4 572'4+14 2'4(14/#0%' +6 &1'5 *#8' 51/'57$6.' &+5#&> 8#06#)'5 +0%' 6*' *#4&9#4' /756 +06'4(#%'&+4'%6.; 9+6* 6*' *156 5'48'4 *#4&9#4' #0& 12'4#6+0) 5;56'/ 6*'4'+5 # *+)* .'8'. 1( &'2'0&'0%' $'69''0 6*' *156 #0& 6*' *#4&9#4' *+5 &'2'0&'0%' #(('%65 /#0; #52'%65 1( 6*' 241&7%6575#$+.+6; 57%* #5 6*' 5'48+%'#$+.+6; 1( (#+.'& Host PC Operating System Device Driver RAID Provided by a Hardware Controller External Storage System *#4&9#4' 14+056#0%' +( # 241$.'/ 1%%745 +0 6*' *#4&9#4' 6*' '06+4'5'48'4 /756 $' 5*76 &190 (14 4'2#+4 *+5 +5 016 6*' %#5' 9+6* #0 ':6'40#. *#4&9#4' 51.7> 6+10 '4'6*' *#4&9#4' +5 6;2+%#..; 4'5+&+0) +0 6*' 5#/' '0%.1574' #5 6*'*#4& &+5-5 ':6'40#. 61 6*' *156 5;56'/ 5'' +) $ #0& 6*'4'(14'2418+&'5 /14' +0&'2'0&'0%' (41/ 6*' *156 5;56'/ 0 #&&+6+10 61/#-+0) #0 ':6'40#. 241&7%6 /14' 5'48+%'#$.' 6*' +0&'2'0&'0%' #..1956*' 5;56'/ /#07(#%674'4 61 /14' 4'#&+.; 5722146 0'9 *156*#4&9#4' 5;56'/5 #0& 0'9 12'4#6+0) 5;56'/5 +0%' 6*' ':6'40#. 5;56'/5 4'37+4' #&&+6+10#. *#4&9#4' 6*'; 6'0& 61 $' /14' %156.; #0&*#8' .19'4 2'4(14/#0%' 6*#0 +06'40#. 51.76+105 #0; 16*'4 #4%*+6'%674#. &+(('4'0%'5 ':+56 +0 5;56'/5 6*#6#(('%6 6*' 24+%'2'4(14/#0%' 4#6+1 14 +056#0%' 6*' *#4&9#4'/#; 75' 10$1#4& (14 %#%*+0) &#6# 7%* %#%*+0) %#0 2418+&' #5+)0+(+%#06 2'4(14/#0%' +/2418'/'06 '52'%+#..; 9*'0 ':'%76+0) .'8'. 94+6' 12'4#6+105 14 # 5'37'06+#. 94+6' 12'4#6+10 *#4&9#4' %#0 %#.%7.#6' 6*' (14 6*' 564+2' 9+6*176 *#8+0) 612'4> (14/ #0; 4'#& 12'4#6+105 +( 6*' %10641..'4 *#5 '017)* /'/> 14; 61%#%*' 10' '06+4' 564+2' '%#.. 6*#6 6*' #/1706 1( &#6# +0 # 564+2'&'2'0&5 10 691 6*+0)5 6*' %*70- 5+<' #0& 6*' 564+2' 5'6 5+<' 14':#/2.' +( 6*' %*70- 5+<' +5 $;6'5 #0& 6*'4' #4' (174 &+5-5 +06*' 564+2' 5'6 6*' 4'37+4'& %#%*' (14 10' 564+2' 917.& $' × $;6'5 $;6'5 14 6*' 5'48'4 '08+410/'06 *#4&9#4'%1//10.; 75'5 $'69''0 $;6'5 #0& $;6'5 1( 10$1#4& 5*#4'&$'69''0 4'#& #0& 94+6' 12'4#6+105 *75 %#%*' %#0 $'%1/' #5+)0+(+%#06 %156 +0%4'#5' 61 6*' 18'4#.. 5;56'/ 4%*+6'%674#. &+(('4'0%'5 57%* #5 6*' 07/$'4 #0& 6;2' 1(&+5- +06'4(#%'5 75'& ') (#56 (+$'4 #0& '> 4+#.614#)' 4%*+6'%674' %#0 #.51 #(('%6 6*' #664+$76'5 1( # *#4&9#4' 241&7%6 14 5;56'/5 6*#6 /#0#)' .#4)' #/17065 1(5614#)' /7.6+2.' &+5- +06'4(#%' $75'5 /#; $' 0'%'55#4; 61 1$6#+06*' $'56 $75 76+.+<#6+10 *' ! %#2#$+.+6+'5 9+.. #.51 #(('%6 6*' 5;56'/ 24+%' #0& 2'4(14> /#0%' (a) Host PC Operating System Device Driver SCSI Controller External Storage System External RAID Hardware Controller (b) #4&9#4' #2241#%*'5 61 +/2.'/'06+0) 6*' 6'%*> 01.1); # 05+&' 6*' *156 5;56'/ $ :6'40#. 61 6*' *156 5;56'/ *' +5- 44#; 241&7%6 9#5 +06'0&'& 61 6#-' #&8#06#)' 1( 6*''/'4)+0) &+5- #44#; /#4-'6 (14 5'48'45 6 9#5 61 $' 1(('4'& #5#0 +06')4#6'& 5614#)' 51.76+10 (14 5 0'69145'48'4 241&7%6 '6'48'4 #5 9'.. #5 # 6*+4&>2#46; 5614#)' 241&7%6 5 &+5%755'&$4+'(.; #$18' 6*'4' #4' /#0; 8+#$.' 5;56'/ #4%*+6'%674'5 #0&('#674'5 9+6* &+(('4'06 '0& 241&7%6 37#.+6+'5 '%+&+0) 10 9*+%*#4%*+6'%674' #0& ('#> 674'5 917.& $'56 (+6 6*' +5- 44#;241&7%6 9#5 $#5'& 10 6*' (1..19+0) 241&7%6 4'37+4'/'065 • +/' 61 /#4-'6 '%#75' 1( 6*' &;0#/+%5 +0 6*' /#4-'6 #241&7%6 14 241,'%6 4#2+&.; $'%1/'5 176&#6'& ( # 241&> 7%6 +5 0164'.'#5'& 9+6*+0 # %'46#+0 2'4+1& 1( 6+/' +' =9+0> &19 1(12214670+6; +6 %#0 /'#0 6*' &+(('4'0%' $'69''0 241&7%6 57%%'55 #0&(#+.74' 5 /'06+10'& 6*' +544#; 9#5 #.51 61 $' +06')4#6'&#5 2#46 1( # 5'48'4 &'8'.> 12'& $; # &+(('4'06 +8+5+10 *'4'(14' 6915'2#4#6' 241)4#/5 9'4' &'2'0&'06 10 # 6+/'.; 4'.'#5' 70' '9.'66>#%-#4& 1740#. • Operating system support. HP has an established customer base on a wide range of PC server operating systems. While some companies offer new products with limited operating system support, the HP product requirement called for supĆ port on all common PC server operating systems. At the time of the first release of the product this included DOS (for boot support), Novell NetWare, IBM OS/2, SCO UNIX, Microsoft OS/2, and Banyan VINES. • Capacity. Based on market research that a typical PC server had a storage need of 1 Gbyte to 5 Gbytes, the HP Disk Array was targeted to offer capacities ranging from 2 Gbytes to 7 Gbytes. • Performance. Several market research studies found that improving I/O performance was the main reason to purchase a disk array among most PC server users. PerforĆ mance was therefore an important product requirement. • Ease of use. EntryĆlevel products should have ease of use as one of their primary attributes. This was not the case with many of the RAID systems we examined. Thus, making it easy for our customers to use RAID technology was an imĆ portant requirement for the HP Disk Array product. device number, or SCSI ID. If the device numbers are not properly set up (e.g., two devices having the same ID numĆ ber), the SCSI system will not work. While all of these product requirements contributed to the product's success, most of them can be considered to be entryĆlevel requirements. These are the criteria necessary to be considered a competitor in this market. Before hard disks can be used for storing useful data, they have to be lowĆlevel formatted. This is a process in which the magnetic medium of the disk drive is divided into generic fixedĆsize sectors (typically 512 bytes) where data can be stored. The following sections describe in more detail some of the challenges the R&D team had to deal with to make the HP Disk Array RAID product easy to use. Since the PC environment is considered open (that is, hardĆ ware and software from one PC manufacturer are expected to operate with any other PC manufacturer's hardware and software), products tend to be very generic when they reach the end user. This often makes the installation and configuĆ ration of new hardware and software more troublesome for the user. Installing a new RAID system on a new or existing server is no exception. In fact, it is generally more difficult since the hardware and the RAID system must be configĆ ured. The installation of a RAID system involves three major steps: installing and configuring the hardware, configuring the RAID system, and then making the added storage capacĆ ity available to the operating system's storage pool by partiĆ tioning and adding a file system. This process can be quite intimidating, even for the most advanced user. Since the last installation step is the same (at least very similar) for any new storage, the following sections will focus on the first two steps. After unpacking and verifying that all the parts of a disk array system are available, the user must first install and conĆ figure the hard disks and then proceed to do the same for the RAID controller. Installing and Configuring the Hard Disks. Most RAID controllers communicate with the hard disks via the SCSI (Small ComĆ puter System Interface) interface protocol. SCSI is a generalĆ purpose interface protocol that allows multiple devices such as disks to communicate in a peerĆtoĆpeer fashion on a parĆ allel bus interface. Each device is referenced with a June 1995 HewlettĆPackard Journal In addition to setting the SCSI ID, several SCSI interface paĆ rameters must also be properly set for each device on the SCSI bus. Among these are settings for synchronous and asynchronous data transfer, data parity check, and maximum data transfer speed. The SCSI devices are configured by using hardware and software switches. Some RAID systems provide the opportunity to loadĆbalance the I/O transfers between multiple SCSI buses. For instance, if the RAID system has seven hard disks and each disk can offer a sustained transfer rate of 3 Mbytes/s, a single SCSI 8Ćbit (narrow) bus with a maximum transfer rate of 10 Mbytes/s could be saturated (7 × 3 Mbytes/s = 21 Mbytes/s for commands and data and 0.66 × 21 Mbytes/s = 14 Mbytes/s for data assuming a typical 33% SCSI command overhead).* Thus, the user must know the approximate charĆ acteristics of the SCSI bus and the disk drives to distribute the disk drives properly. Installing and Configuring the RAID Controller. Setting up the RAID controller is perhaps the most difficult and definitely the most critical part of the hardware installation. During this process the user has to power down the server, take the cover off the server PC, and install the RAID controller into an empty slot. If not handled properly, static electricity could cause the entire server to malfunction after this operation. Further, if the controller has hardware jumpers, they must be configured before the controller is installed in the server. Once the system is put back together again, a configuration program, such as the EISAConfig program for an EISA system, is run to assign host system resources to the controller (e.g., IRQ and BIOS addresses). Since the RAID controller has one or more SCSI interfaces in addition to EISA, it is very comĆ mon to configure the controller's SCSI parameters with the EISAConfig utility. Once the hardware is installed and configured, the RAID system configuration can begin. To the user this is probably the greatest challenge in the entire installation process beĆ cause the RAID technology introduces many new terms and concepts such as stripe set size, chunk size, and RAID level. The user must understand how the selection of a parameter will affect the system in terms of data protection, system performance, and capacity utilization. Fig. 6 shows the dependency relationships between some of the configurable RAID system parameters. Note that Fig. 6 is not meant as a complete picture, but only as an illustration of the complexity involved in determining the values to asĆ sign to these parameters. The operating system is the only * The maximum number of devices on a narrow SCSI bus is eight, and since the disk controller is considered to be one device, a maximum of seven hard disks can be connected to the bus. Data Protection: Is data protection or redundancy required? Hot Spare: Does the system need a standby disk for automatic recovery? Stripe Set Size: What number of hard disks should be used per stripe? RAID Level: Which RAID level best fits our requirements? RAID Volume Size: What will the partition size be? Is more than one partition required? Performance: How important is performance to this volume? Controller Cache: If the read or write cache should be configured, what should it be set to? I/O Request Type: What is the distribution of random versus sequential I/O requests? Operating System Type: Operating Systems have different specifications regarding volume and File Allocation Table (FAT) block sizes. Chunk Size: What is the largest amount of data that can be contiguously stored on one disk? "*0&05 &* &$ 0%0 %/ *+ !","*!"* &"/ " 1/" &0/ +*#&$7 1.0&+* &/ 05,& ((5 #&4"! 5 0%" 0&)" 0%" /0+.$" /5/0") &/ &*/0(("! &0%+10 0%+.+1$% 1*!"./0*!&*$ +# 0%"/" !","*7 !"* &"/ 0%" 1/". 3&(( *+0 '*+3 3%0 "##" 0 0%" 2(1" /7 /&$*"! 0+ +*" ,.)"0". 3&(( %2" +* 0%" .")&*&*$ &*/0((7 0&+* %" #+((+3&*$ /" 0&+*/ (++' 0 /+)" +# 0%"/" ,.)"0"./ *! 0%"&. !","*!"* &"/ &* )+." !"0&( • 0.&," /"0 /&6" "#+." *5 +0%". /"(" 0&+*/ /1 % / (+$& ( 2+(1)" /&6" *! ("2"( * " /"0 !" &/&+* )1/0 " )!" +* %+3 0%" %.! !&/'/ /%+1(! " $.+1,"! /0.&," /"0 &/ 0%" +((" 0&+* +# !&/'/ 0%0 )'" 1, * ..5 0%0 &)7 ,(")"*0/ ("2"( 0%0 05,& ((5 1/"/ !&/' /0.&,&*$ 0" %*&-1" &/' /0.&,&*$ &*2+(2"/ /,."!&*$ !0 +2". )1(0&7 ,(" !&/'/ &* * &*0".("2"! ,00".* 0+ &),.+2" ,".#+.)* " /"" &$ "(" 0&+* +# /0.&," /"0 $."0(5 ##" 0/ 0%" ."7 )&*&*$ +*#&$1.0&+* ,.)"0"./ /1 % / 0%" ("2"( *! (+$& ( 2+(1)" /&6" %" "%2&+. +# 0%" ..5 3&(( (/+ " ##" 0"! "/," &((5 &* 0".)/ +# &0/ ,".#+.)* " 0.&," /"0 /&6" %/ 0%" #+((+3&*$ !","*!"* &"/ ".#+.)* " # 0%" %.! !&/' "* (+/1." %/ )1(0&,(" %**"(/ 3&0% %.! !&/'/ !&/0.&10"! +2". )1(0&,(" %*7 *"(/ &0 )5 " !"/&.(" 0+ %2" )1(0&,(" /0.&," /"0/ 0+ +0&* "00". ,".#+.)* " +# 0%" +2".(( /5/0") (/+ !"7 ,"*!&*$ +* 0%" *01." +# 0%" !0 *! 0%" #."-1"* 5 +# !&/0.&10&+* )1(0&,(" /0.&," /"0/ )5 " !"/&.(" ("2"( % ("2"( %/ &0/ +3* +*/0.&*0/ +. ."-1&.")"*0/ +. "4),(" ("2"( * +*(5 " 1/"! 3&0% * "2"* *1)". +# %.! !&/'/ 3%&(" ("2"( * " 1/"! 3&0% * "2"* +. +!! *1)". +# %.! !&/'/ ","*!"* 5 ."(0&+*/%&,/ "03""* ,.)"0"./ Disk 1 Disk 2 Stripe 1 B0 B1 Stripe 2 B2 B3 Stripe 3 B4 B5 Stripe n B(2n–2) B(2n–1) Disk 1 Disk 2 Disk 3 Disk 4 Stripe 1 B0 B1 B2 B3 Stripe 2 B4 B5 B6 B7 Stripe 3 B8 B9 B10 B11 Stripe n B(4n–4) B(4n–3) B(4n–2) B(4n–1) (a) (b) 3+ "4),("/ +# !&/' /0.&,&*$ *! !&##"."*0 /0.&," /"0 /&6"/ 0 &/ /,."! +2". !&/'/ &* "-1( %1*'/ +. (+ '/ +# !0 %1*' &/ 05,& ((5 "03""* 50"/ *! 50"/ 5 1/&*$ 0%&/ / %")" +# /,."!&*$ 0%" !0 )+*$ )1(0&,(" !&/'/ +*0.+((". * +2".(, +,".0&+*/ 0+ 0%" !&/'/ *! 0%"."5 &),.+2" 0%" +2".(( !0 "// +. "4),(" &* 03+ %1*'/ "$ *! +1(! " ."! &* 0%" /)" 0&)" &0 0'"/ 0+ ."! +*" %1*' # 0%" /5/0") *!3&!0% ((+3/ &0 &/ (". 0%0 0%" /0.&," /"0 &* 3&(( %2" )+." +* 1.."*0 !0 "// 0%* 0%" /0.&," /"0 &* 1*" "3("007 '.! +1.*( 16 52$4( (2(0',0* 10 6+( 07/%(4 1) +$4' ',5-5 $8$,.= • +70- 5,<( (.(&6,0* 6+( 2412(4 $/1706 1) &106,*7175 '$6$ $%.( ,6 /$; 14 /$; 016 %( 2155,%.( 61 +$8( $ +16 52$4( 5614(' 10 10( ',5- &+70- 5,<( ,5 241%$%.; 6+( /156 ',)),= 56$0'%; +$4' ',5- 6+$6 9,.. $761/$6,&$..; 4(2.$&( $ )$,.(' &7.6 6$5- ,0 &10),*74,0* $ 5;56(/ 6 ,5 ($5; 61 (:2.$,0 +$4' ',5- ,0 6+( 564,2( 5(6 746+(4 70.(55 $.. .1*,&$. 81.= 9+$6 &+70- 5,<( ,5 %76 &+$..(0*,0* 61 (:2.$,0 6+( ,/2.,&$= 7/(5 '(),0(' ,0 6+( 564,2( 5(6 $4( &10),*74(' 61 %( 4('70= 6,105 1) 5(.(&6,0* ',))(4(06 &+70- 5,<(5 +70- 5,<( /$,0.; '$06 .(8(.5 14 $ +16 52$4( 9,.. 016 5(48( ,65 $))(&65 6+( 2(4)14/$0&( 1) 6+( 5614$*( 5;56(/ %76 6+( ',)),= ,06(0'(' 274215( ,0 6+( (8(06 1) $ ',5- )$,.74( &7.6; .,(5 ,0 24(',&6,0* +19 6+( 2(4)14/$0&( 9,.. %( $)= • .(8(. +115,0* 6+( .(8(. ,5 10( 1) 6+( &(064$. )(&6(' +( )1..19,0* &105,'(4$6,105 $4( ,/2146$06 ,0 5(.(&6= 2$4$/(6(45 ,0 6+( 5;56(/ ,056$..$6,10 6 +$5 $ .16 1) ,0* &+70- 5,<( ,06(4'(2(0'(0&,(5 ,0&.7',0* 2(4$6,0* 5;56(/ $5(' 10 6+( 4(37(56 5,<( 6+( $6$ 416(&6,10 ) 6+( 5614$*( 5;56(/ ,5 61 9,6+56$0' $ &+70- 5,<( 5+17.' %( 5(6 61 51/( /7.6,2.( 1) 6+( 4(37(56 ',5- )$,.74( 51/( 4('70'$0&; 5&+(/( 57&+ $5 14 5,<( 14 18(.. (6"$4( 6+,5 215(5 $0 ,06(4(56,0* ',= /756 %( 5(.(&6(' ) 01 2416(&6,10 ,5 4(37,4(' /$; .(//$ %(&$75( 6+( 4(37(56 5,<( &$0 %( 5(.(&6(' )14 %( 6+( %(56 &+1,&( 1))(4,0* %(56 &$2$&,6; 76,.,<$6,10 $0' ($&+ 81.7/( '74,0* ,056$..$6,10 1) 6+( ),.( 5;56(/ 6+(4 *11' 2(4)14/$0&( 12(4$6,0* 5;56(/5 57&+ $5 !# +$8( $ ),:(' (4)14/$0&( (.(&6,0* $ .(8(. 9,.. +$8( $ 5,*0,),&$06 4(37(56 5,<( ,/2$&6 10 6+( 2(4)14/$0&( 14 ,056$0&( ,) 6+( 10641..(4 &$&+( $&+( 75( 9,.. $.51 $))(&6 +19 6+( &+704(37(56 6;2(5 $4( 4$0'1/ 94,6(5 ,5 6+( .19(562(4= 5,<( 5+17.' %( 5(6 14 (:$/2.( ,6 ,5 1)6(0 '(5,4$%.( 61 ),6 )14/$0&( 5(.(&6,10 10( &$0 /$-( $0' 917.' %( $ )7.. 564,2(5 ,0 &$&+( )14 94,6(5 %(66(4 &+1,&( 4(37(56 6;2( +( /14( 5(37(06,$. 6+( 4(37(565 6+( 81.7/( 5,<( .(8(.5 $0' 9,.. &1057/( /14( %(0(),6 .$4*(4 &+70- 5,<(5 9,.. +$8( 1) 6+( $8$,.$%.( 5614$*( &$2$&,6; 9+,.( &1565 10( ',5- 176 1) 6+( 616$. 07/%(4 1) ',5-5 ,0 6+( 564,2( 5(6 14 6 ,5 1%8,175 )41/ 6+( ',5&755,10 $%18( 6+$6 &10),*74,0* $ (:$/2.( ,) 6+( 564,2( 5(6 &105,565 1) ),8( ',5-5 9,.. 5;56(/ ,5 016 $ 64,8,$. 6$5- +,5 5(&6,10 '(5&4,%(5 51/( 1))(4 )174 ',5-5 14 1) 75$%.( &$2$&,6; )14 '$6$ 5614$*( 1) 6+( )($674(5 6+( ,5- 44$; 2418,'(5 61 /$-( ,6 5,/2.( • 81.7/( 5,<( 1/( 5;56(/5 $..19 /7.6,2.( 2$46,= )14 75(45 61 ,056$.. $0' &10),*74( $ 5;56(/ 6,105 9,6+,0 10( 564,2( 5(6 +,5 $..195 6+( 75(4 61 &7561/,<( 6+( 5614$*( %; +$8,0* $ /,: 1) 81.7/( 5,<(5 .(8(.5 1 5,/2.,); +$4'9$4( ,056$..$6,10 1) 6+( ,5- 44$; 6+( $0' &$&+,0* 5&+(/(5 1/( '(2(0'(0&,(5 )14 6+( 81.7/( +$4' ',5-5 &1/( 24()14/$66(' $0' 24(&10),*74(' )41/ 6+( 5,<( ,0&.7'( )$&614; ,0&( ,5 $%.( 61 &10641. 6+( +$4' ',5-5 75(' 9,6+ .(8(. 5 $.4($'; /(06,10(' 6+( .(8(. ',&6$6(5 6+( &10641..(4 ,6 ,5 2155,%.( 61 126,/,<( $.. &10),*74$%.( 9+$6 4(/$,05 1) 75$%.( &$2$&,6; 2$4$/(6(45 $6 6+( )$&614; 0; &10),*74$%.( 2$4$/(6(4 6+$6 2(4$6,0* ;56(/ 1/( 12(4$6,0* 5;56(/5 57&+ $5 &$0016 (0+$0&( 6+( 241'7&6 %76 &17.' ,056($' .($' 61 .(55 &$0016 75( 2$46,6,105 .$4*(4 6+$0 %;6(5 +(4()14( ,6 6+$0 126,/,<(' &10),*74$6,105 +$5 %((0 4(/18(' 8(0 6+( /$; %( 0(&(55$4; 61 /$-( /7.6,2.( 2$46,6,105 %(&$75( 1) 5(.(&6,10 +$5 %((0 $761/$6(' ; 5(.(&6,0* 6+( 57&+ 12(4$6,0* 5;56(/ .,/,6$6,105 * Chunk size is also referred to as block size. (6(6 &10),*74$6,10 5&4((0 70( (9.(66=$&-$4' 1740$. Protected DOS Partition Protected NetWare Partition #/.&)'52!4)/. ). 7()#( ! 0!24)4)/. -534 "% #2%!4%$ 3,/4 ). 4(% #!").%4 4(% )3 !,3/ !54/-!4)#!,,9 $%4%2; -).%$ /2 4(% #/.42/,,%2 4(% #/.&)'52!",% 0!2!-%4%23 (!6% "%%. /04)-):%$ !3 $%&!5,4 3%44).'3 (% "53 53% (!3 !,3/ "%%. /04)-):%$ "9 -!4#().' 4(% #(!2!#4%2)34)#3 /& 4(% +./7. $)3+ $2)6%3 4(!4 #!. "% 53%$ 7)4( 4(% 02/$5#4 (% 53%2 $/%3 ./4 (!6% 4/ 5.$%234!.$ !.9 0%2&/2-!.#% /2 #/.&)'52!4)/. !30%#43 /& &4%2 4(% (!2$7!2% (!3 "%%. ).34!,,%$ 4(% 53%2 -534 #/.&)'52% 4(% $)3+ !22!9 "//4!",% &,%8)",% $)3+ )3 02/6)$%$ 4(!4 02/-043 4(% 53%2 4/ 3%,%#4 4(% ,!.'5!'% /& #(/)#% (% ).34!,; ,!4)/. 02/#%33 7),, 4(%. !,,/7 4(% 53%2 4/ #/.&)'52% 4(% !22!9 • • • • • • (% !22!9 #/.&)'52!4)/. 54),)49 53%$ 7)4( 4(% )3+ 22!9 )3 #!,,%$ %4%4 /-% /& 4(% &%!452%3 /& %4%4 54),)49 ).#,5$% %.3).' !.$ '5)$).' %4%4 7),, 3%.3% )& 4(% !22!9 )3 5.#/.; &)'52%$ )& .%7 (!2$ $)3+3 (!6% "%%. !$$%$ /2 )& ! 2%#/6%29 /0%2!4)/. )3 2%15)2%$ 4 7),, 4(%. '5)$% 4(% 53%2 4/ 0%2&/2!,, 4(% .%#%33!29 34%03 4/ #/-0,%4% 4(% /0%2!4)/. )-)4 #(/)#%3 %4%4 7),, /.,9 02%3%.4 /04)/.3 4(!4 -!+% 3%.3% &/2 4(% #522%.4 /0%2!4)/. /2 %8!-0,% ! (/4 30!2% (!2$ $)3+ $/%3 ./4 -!+% 3%.3% &/2 ! 6/,5-% !.$ 4(% /04)/. 3(/5,$ ./4 %6%. "% /&&%2%$ 4/ 4(% 53%2 ()3 !0; 02/!#( !,3/ ,)-)43 #,544%2 /. 4(% 3#2%%. 4!.$!2$ $%&!5,43 & 4(% 53%2 02%33%3 4(% Enter +%9 #/.4).5; /53,9 4(2/5'( ! &%7 /04)/. 3#2%%.3 4(% !22!9 7),, "% #/.&)'; 52%$ 4/ 4(% -/34 #/--/. $%&!5,43 (% 53%2 (!3 4/ -!+% $)&&%2%.4 3%,%#4)/.3 4/ $%6)!4% &2/- 4(%3% $%&!5,43 /.4%84;3%.3)4)6% (%,0 %4%4 /&&%23 %84%.3)6% #/.4%84;3%.3); 4)6% (%,0 4(2/5'(/54 !,, -%.53 (% '/!, (%2% )3 ./4 4/ 2%; 15)2% 4(% 53%2 4/ #/.35,4 ! -!.5!, $52).' 4(% #/.&)'52!4)/. 02/#%33 )-)4 .%7 4%2-)./,/'9 %4%4 )3 $%3)'.%$ 4/ +%%0 4(% ,!.; '5!'% !3 3)-0,% !3 0/33)",% !.$ ./4 53% %.').%%2).' *!2'/. .%7 4%#(./,/'9 490)#!,,9 "2).'3 .%7 4%2-)./,/'9 /7; %6%2 -!.9 .%7 4%2-3 #!. /&4%. "% %80,!).%$ 7)4( -/2% &!-),)!2 4%2-3 %4%4 &/2 !,, /0%2!4).' 3934%-3 / &524(%2 3)-0,)&9 4(% ,%!2.; ).' #526% &/2 4(% 53%2 %4%4 )3 -!$% !6!),!",% ). 4(% 3!-% &/2- &/2 !,, 3500/24%$ /0%2!4).' 3934%-3 ()3 02/6)$%3 4(% "%.%&)43 /& 3)-0,)&)%$ 3/&47!2% #/.42/, !.$ 53%23 -!.5!, 3!-0,% /& 4(% -!). %4%4 #/.&)'52!4)/. 3#2%%. )3 3(/7. ). )' (% 53%2 )3 /.,9 02/-04%$ 4/ -!+% $%#)3)/.3 2%,%6!.4 4/ 4(% #/.&)'52!4)/. 02/#%33 .#% 4(% 3934%- (!3 "%%. #/.&)'52%$ !.$ ).)4)!,):%$ )4 )3 2%!$9 &/2 53% "9 4(% 3%26%23 /0%2!4).' 3934%- &/2 $!4! 34/2!'% & 4(% 3934%- )3 4(% /.,9 34/2!'% /. 4(% 3%26%2 )4 #!. "% -!$% "//4!",% "9 #2%!4).' ! 0!24)4)/. !.$ !33)'.).' ! &),% 3934%- ()3 )3 4(% #!3% &/2 /6%,, %4; !2% !3 3(/7. ). )' ()3 )3 !. )-0/24!.4 0/).4 "%#!53% 3/-% 3934%-3 7),, ./4 !,,/7 4(% #2%!4)/. /& -5,4)0,% 0!24)4)/.3 7)4(). /.% 342)0% 3%4 ()3 ).#2%!3%3 4(% #/34 /& 4(% 3934%- "%#!53% 4(% 53%2 -534 %)4(%2 !33)'. ! 3%0!2!4% (!2$ $)3+ !0!24 &2/- 4(% Disk 1 Disk 2 Disk 3 Stripe 1 B0 B1 B2 Stripe 2 B3 B4 B5 Stripe 3 B6 B7 B8 Stripe n B(3n–3) B(3n–2) B(3n–1) (a) Disk 1 Disk 2 Disk 3 Disk 4 Stripe 1 B0 B1 B2 B3 Stripe 2 B4 B5 B6 B7 Stripe 3 B8 B9 B10 B11 Stripe n B(4n–4) B(4n–3) B(4n–2) B(4n–1) (b) ! !4! ,!9/54 ). ! 3934%- " !4! ,!9/54 !&4%2 !$$).' ! .%7 $)3+ 3934%- !3 4(% "//4 $%6)#% /2 )& 4(% 3934%- )3 4(% /.,9 34/2!'% 3934%- /. 4(!4 3%26%2 4(% "//4!",% 0!24)4)/. 7/5,$ "% ! -).)-5- /& ! 3).',% $)3+ 3):% 4/ "94%3 !.$ )& 02/4%#4%$ 7/5,$ 4!+% 4(!4 .5-"%2 4)-%3 47/ (% )3+ 22!9 !,,/73 %)'(4 6/,5-%3 &/2 ! 342)0% 3%4 53).' !.9 -)8 /& #!0!#)49 ,%6%, !.$ #!#().' 342!4%'9 !,!.#).' %!3% /& 53% !.$ ! 2)#( &%!452% 3%4 #!. "% 6%29 #(!,,%.').' "%#!53% -/34 -!.5&!#452%23 /& 02/$5#43 35#( !3 3934%-3 7!.4 4/ -!+% 4(% 02/$5#43 '%.%2!, %./5'( 3/ 4(!4 4(%9 #!. "% 53%$ /. !.9 (/34 3934%- ). !.9 /0%2!4).' 3934%- %.6)2/.-%.4 7)4( 4(% -/34 &%!452%3 /& !.9 !6!),!",% 02/$5#4 ! -!2+%4).' $2%!- 5#( '%.%2!,)49 !,3/ #(!,,%.'%3 4(% 3)-0,)#)49 !.$ %!3% /& 53% /& 4(% 3934%- (% )3+ 22!9 )3 !. %8!-0,% /& (/7 &%7 42!$%;/&&3 7%2% -!$% $$).' #!0!#)49 4/ !. %8)34).' #/.&)'52!4)/. )3 ! 7%,,; +./7. $),%--! 7)4( 4()3 4%#(./,/'9 ).#% 4(% $!4! )3 302%!$ /6%2 -!.9 $)3+3 ! .%7 $)3+ #!../4 3)-0,9 "% !$$%$ 7)4(/54 3(5&&,).' 4(% $!4! !2/5.$ . )' $!4! )3 302%!$ /6%2 4(2%% (!2$ $)3+3 ). !. ).4%26!, /& ",/#+ 3):% !#( (!2$ $)3+ (!3 . ",/#+3 !.$ 4(%2%&/2% 4(% !22!9 (!3 . 342)0%3 / "% !",% 4/ !$$ #!0!#)49 4/ 4(% %8)34).' 342)0% 3%4 3/-% /& 4(% $!4! 3(/7. ). )' ! (!3 4/ "% -/6%$ /.4/ 4(% !$$); 4)/.!, $)3+ 35#( 4(!4 4(% ",/#+ ,!9/54 %.$3 50 ,//+).' ,)+% )' " ()3 %8!-0,% )3 30%#)&)# &/2 $$).' #!0!#)49 "%#/-%3 -/2% #/-0,%8 7(%. 4(% 3934%- )3 #/.&)'52%$ !3 ! 2%$5.$!.4 ,%6%, /34 3934%-3 2%15)2% ! #/-0,%4% "!#+50 2%#/.&)'52!4)/. !.$ 2%34/2% &/2 ! #!0!#)49 ).#2%!3% ,'/2)4(-3 !2% "%).' $%6%,/0%$ 4/ !,,/7 ! #!0!#)49 ).#2%!3% &/2 !. %8)34).' 342)0% 3%4 "54 !2% "%9/.$ 4(% 3#/0% /& 4()3 $)3#533)/. (% )3+ 22!9 /&&%23 ! .%7 !.$ 3)-0,% 3#(%-% &/2 !$$; ).' #!0!#)49 #!,,%$ !4(%2 4(!. 3/,6).' 4(% #/-0,%8 02/",%- $%3#2)"%$ !"/6% %-%2'%.#9 #!0!#)49 3)-0,9 !$$3 ! .%7 342)0% 3%4 4/ 4(% 3934%- 3%%)' (% #!6%!4 (%2% )3 4(!4 4(% .%7 342)0% 3%4 $/%3 ./4 (!6% !.9 $)3+ !22!9 #(!2!#4%2)34)#3 35#( !3 !$$%$ 0%2&/2-!.#% !.$ $!4! 2%$5.$!.#9 . &!#4 )4 )3 3)-0,9 ! *534 ! "5.#( /& $)3+3 #/.&)'52!4)/. /7%6%2 )4 -%%43 4(% #534/-%23 .%%$ /& )--%$)!4% #!0!#)49 %80!.3)/. 4 ! -/2% #/.6%.)%.4 5.% %7,%44;!#+!2$ /52.!, Disk 1 Disk 2 Disk 3 Disk 4 Stripe 1 B0 B1 B2 B0 Stripe 2 B3 B4 B5 B1 Stripe 3 B6 B7 B8 B2 Stripe n B(3n–3) B(3n–2) B(3n–1) Bn Disk 1 Disk 2 Disk 3 Disk 4 (Hot Spare) Stripe 1 B0 B1 Parity-1 Unused Stripe 2 B2 Parity-2 B3 Unused Stripe 3 Parity-3 B4 B5 Unused B(2n–2) B(2n–1) Parity-n Unused Disk 3 Disk 4 Stripe n Stripe Set 1 Stripe Set 2 $$).' %-%1'%.#8 23/1!'% #!0!#)38 ). !. )2+ 11!8 #/.&)'41!3)/. (a) Disk 1 Stripe 1 B0 3)-% 3(% 42%1 #!. 0%1&/1- 3(% 01/0%1 /0%1!3)/. &/1 #!0!#)38 %70!.2)/. Stripe 2 B2 Stripe 3 Parity-3 ./3(%1 -!*/1 1%!2/. 6(8 /1'!.)9!3)/.2 ).5%23 ). 282: 3%-2 )2 01/3%#3)/. !'!).23 2823%- $/6.3)-% ##/1$).' 3/ 3(% !1#( )224% /& 83% !'!9).% ! 2415%8 /& ).: &/1-!3)/. 2%15)#% %7%#43)5%2 !3 -!*/1 #/-0!.)%2 &/4.$ #/-043%1 $/6.3)-% #/23 !. !5%1!'% /& 0%1 (/41 !.$ /##411%$ /. !5%1!'% .).% 3)-%2 ! 8%!1 380)#!, /43: !'% #/23 ).#,4$).' 3(% #/23 /& 1%#/5%1).' /1 1%#/.2314#3).' 3(% $!3! /6%5%1 &!),41%2 #!. !.$ $/ /##41 -!+).' ./3)&)#!3)/. /& ! &!),41% %22%.3)!, /-% &!),41%2 $/ ./3 #!42% !.8 $)21403)/. ). 3(% 01/#%22).' 0%1&/1-!.#% -!8 24&&%1 2/-% 6(),% /3(%1 &!),41%2 6),, "1).' $/6. 3(% %.3)1% 2%15%1 Stripe n B(2n–2) Failure Notification. %&/1% !.8 -!.4!, 1%23/1!3)/. 01/#%22 #!. "%'). 3(% 2823%- !$-).)231!3/1 .%%$2 3/ +./6 3(!3 ! 01/": ,%- (!2 /##411%$ (% &!),41% ./3)&)#!3)/. -%3(/$ )2 3(%1%: &/1% ! 5%18 )-0/13!.3 0!13 /& 3(% 23/1!'% 2823%- (% ./3)&)#!3)/. 2(/4,$ "% )--%$)!3% )% 6)3(). -).43%2 /& 3(% &!),41% 5)2)",% !.$ 4.$%123!.$!",% 3/ 3(% !$-).)231!3/1 !.8 !001/!#(%2 !1% 42%$ &/1 &!),41% ./3)&)#!3)/. 3!.$!1$2 24#( !2 )-0,% %36/1+ !.!'%-%.3 1/3/#/, !.$ (b) ÎÎÎ ÎÎÎ ÎÎÎ ÎÎÎ ÎÎÎ Disk 2 Failed Parity-1 B1 B3 Parity-2 B5 B4 Parity-n B(2n–1) !),41% 1%#/5%18 ! 2823%- 6)3( ! (/3 20!1% "%&/1% 3(% &!),41% " &3%1 $)2+ (!2 &!),%$ !.$ 3(% (/3 20!1% )2 "1/4'(3 /.,).% %2+3/0 !.!'%-%.3 .3%1&!#% !1% %-%1').' /6: %5%1 2).#% 23!.$!1$2 (!5% ! 3%.$%.#8 3/ 3!+% ! ,/.' 3)-% "%&/1% 3(%8 !1% #/-0,%3% %./4'( &/1 3(% ).$42318 3/ 42% ).$42318 3%.$2 3/ 3!+% )32 /6. $)1%#3)/. Failure Recovery. 2 -%.3)/.%$ 2/-% &!),41%2 !1% 1%#/5%1: !",% .% 24#( 1%#/5%1!",% &!),41% )2 ! 2).',% (!1$ $)2+ 3(!3 )2 0!13 /& ! 1%$4.$!.3 231)0% 2%3 (% 23/1!'% 2823%-!8 (!5% 3(% !"),)38 3/ 1%#/5%1 "8 )32%,& "8 1%"4),$).' /. ! (/3 20!1% 23!.$"8 (!1$ $)2+ (% &!),%$ $)2+ 2(/4,$ "% 1%0,!#%$ 3/ -!+% )3 3(% .%6 (/3 20!1% & 3(% 2823%- $/%2 ./3 (!5% ! (/3 20!1% 3(% &!),%$ $)2+ -423 "% 1%0,!#%$ "%&/1% 1%"4),$).' #!. 3!+% 0,!#% )' ! 2(/62 3(% 23/1!'% #/.&)'41!3)/. "%&/1% ! &!),41% !.$ )' " 2(/62 6(!3 (!00%.2 !&3%1 ! &!),41% /. $)2+ !.$ 3(% #/-0,%3)/. /& 42).' 3(% (/3 20!1% $)2+ 3/ 1%"4),$ %3%15%1 22)23!.3 0%. )%6 2#1%%. &/1 1%-/3% 2%1: 5)#).' 4.% %6,%33:!#+!1$ /41.!, ",) -6. 55%< 7%.)6 *%-/85) 127-*-'%7-21 21) 67)3 *857,)5 1 %((-7-21 72 2**)5-1+ 127-*-'%7-21 2* *%-/85)6 7,%7 ,%9) %/? 5)%(< ,%33)1)( -7 2**)56 % 35)(-'7-9) *%-/85) 127-*-'%7-21 62 7,%7 *25 620) *%-/85)6 7,) 86)5 :-// &) :%51)( %&287 *%-/85)6 7,%7 %5) %&287 72 ,%33)1 &)*25) 7,) 6<67)0 -6 ()+5%()( 7 -6 )66)17-%/ 72 +)7 127-*-)( %&287 *%-/85)6 %7 620) %'')66-&/) 3/%') * 7,) 6)59)5 -6 127 3,<6-'%//< '/26) 72 :,)5) 7,) 6<6? 7)0 %(0-1-675%725 -6 /2'%7)( %8(-&/) %/%506 %1( 0)66%+)6 21 7,) 6)59)5 %5) 127 9)5< 86)*8/ ",) -6. 55%< 2**)56 %1 -17)+5%7)( :%51-1+ 0)',%1-60 86-1+ ! 75%36 72 %1 )7!)59)5 66-67%173)1$-): 5)027) '2162/) ",-6 %//2:6 7,) 6<67)0 %(0-1-675%725 72 9-): )5525 /2+6 %1( *%-/85)6 *520 %1< /2'%7-21 6)) -+ ",) -6. 55%< 2**)56 %8720%7-' *%-/85) ()7)'7-21 %1( 5)6725%7-21 2* 5)(81(%1'< :-7, 7,) 86) 2* % ,27 63%5) (-6. (5-9) * 12 ,27 63%5) -6 86)( 7,) 21/-1) 9)56-21 2* 7,) )7!)7 87-/-7< -6 5)48-5)( 72 67%57 7,) 5)6725%7-21 352')66 #321 /2%(? -1+ 7,) 21/-1) )7!)7 87-/-7< :-// 127-*< 7,) 86)5 %&287 :,-', (-6. ,%6 *%-/)( %1( 1))(6 72 &) 5)3/%')( &)*25) 7,) 5)6725%? 7-21 '%1 &)+-1 1 ()9)/23-1+ 352(8'76 &%6)( 21 )0)5+-1+ 7)',12/2+-)6 -7 -6 7,) 5)63216-&-/-7< 2* 7,) ()6-+1)56 72 0%.) 685) 7,%7 7,)6) 7)',12/2+-)6 %5) 48-'./< %'')37)( %1( %9%-/%&/) 72 7,) 7<3-? '%/ 86)5 2:)9)5 -1 7,) )**257 72 &5-1+ % 352(8'7 72 0%5.)7 -1 % 7-0)/< 0%11)5 7,) )1( 86)5 -6 2*7)1 127 35-25-7-=)( ",) 5)68/7 -6 % 352(8'7 7,%7 5)*/)'76 7,) '203/);-7< 2* 7,) 7)',12/2+< -7 -6 &8-/7 21 ",) 29)5%// +2%/ *25 7,) -6. 55%< ()6-+1 7)%0 :%6 72 3529-() 7)',12/2+< 72 7,) %9)5%+) 1)7:25. %(0-1? -675%725 )*-1-1+ :,%7 %1 %9)5%+) 1)7:25. %(0-1-675%725 0)%17 %1( :,%7 68', % 86)5 .1): %&287 7)',12/2+< 722. ')17)5 67%+) 7,528+,287 7,) ()9)/230)17 ",) 5)68/7? -1+ 352(8'7 -6 )%6< )128+, 72 86) *25 % 129-') 86)5 &87 67-// 3529-()6 237-216 %1( -1*250%7-21 *25 7,) 025) %(9%1')( 86)5 %77)5621 -&621 %1( %7= > %6) *25 )(81(%17 55%<6 2* 1);3)16-9) -6.6 ACM SIGMOD Conference Proceedings ,-'%+2 //-12-6 81) 33 ? !',8/=) -&621 %7= %1( %77)5621 >2: )/-%&/) 6 % COMPCON Spring 1989 !%1 5%1'-6'2 %/-*251-% )&58%5< The RAIDBook: A Source Book for RAID Technology ",) (9-625< 2%5( -12 %.)6 -11)627% HP-UX 9.* and 10.0 for HP 9000 Series 700 and 800 computers are X/Open Company UNIX 93 branded products. X/Open is a registered trademark, and the X device is a trademark, of X/Open Company Ltd. in the UK and other countries. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited. Microsoft is a U.S. registered trademark of Microsoft Corp. 81) ):/)77?%'.%5( 2851%/