On Codes for Optimal Rebuilding Access

MDS (maximum distance separable) array codes are widely used in storage systems due to their computationally efficient encoding and decoding procedures. An MDS code with r redundancy nodes can correct any r erasures by accessing (reading) all the rem…

Authors: Zhiying Wang, Itzhak Tamo, Jehoshua Bruck

On Codes f or Optimal Reb uilding Access Zhiying W ang ∗ , Itzhak T amo ∗ † , and Jehosh ua Br uck ∗ ∗ Electrical Engineer ing Department, California Institute of T echnology , Pasadena, CA 91125, USA † Electrical and Computer Engine ering, Ben-Gurion Uni versity of the Nege v , Beer She va 8 4105, Israel { zhiying, tamo, bruck } @caltech.edu Abstract —MDS (maximum distance se parable) array codes are wid ely u sed in storage systems du e to their com putationally efficient encoding and decodin g pro cedures. An MDS code with r r edundancy nodes can corr ect any r erasures by ac cessing (reading) all the r emaining inf ormation in both the systematic nodes and the parity (r edundancy) nodes. Ho wev er , in practice, a single erasure is the most likely failure ev ent; hence, a n atural question is how m uch informa tion do we need to ac cess in order to rebuild a single storage node? W e define the rebuilding ratio as the fraction of rema ining in fo rmation accessed during th e rebuilding of a single er asure. In our pre vious wor k we sho wed that the optimal rebuilding ratio of 1 / r i s achieva ble (usin g our newly constru cted array codes) for the reb uildin g of any systematic node, howe ver , all the information needs to be accessed fo r the rebuildin g of th e parity nodes. Namely , constructing array codes with a re building ratio of 1/ r was left as an open problem. In this p aper , we solve this open p roblem and present array codes that achiev e the lower bound of 1/ r for r ebuilding any single systematic or parity n ode. I . I N T RO D U C T I O N MDS (maximu m distance separable) array codes are a family of erasure-co rrecting co des used extensi vely as the basis for RAID stora ge sy stems. An arr ay cod e co nsists o f a 2- D arra y where each column can be consid ered as a disk. W e will u se the term co lumn, nod e, or d isk inter changea bly . A code with r parity (redu ndancy) nod es is MDS if and only if it can r ecover f rom any r erasures. EVENODD [2] and RDP [5] are examples of MDS a rray cod es with two redun dancies. In this paper , we only consider systematic codes, namely , th e informa tion is stored exclusively in the first k n odes, and the parities are stored exclusively in the last r nodes. In ord er to cor rect r erasure s, it is o bvious that one h as to access (or r ead) the informatio n in all the surviving nodes. Howe ver , in practice it is m ore likely to encounter a single erasure rather than r erasures. So a natu ral questions is : How much info rmation do we need to access wh en rebuilding a single erasure? Do we h av e to acc ess all the surviving informa tion? W e define the reb uilding ratio as the ratio of accessed infor mation to the r emaining inform ation in case of a single erasure. For example, it is easy to chec k th at fo r the co de in Figure 1, if any two columns are erased, we can still recover all the informa tion, namely , it is a n MDS c ode. Howe ver , if co lumn C 1 is erased, it can be rebuilt by accessing a 0,2 , a 1,2 from colum n C 2 , r 0 , r 1 from colum n C 3 , and z 0 , z 1 from column C 4 , as follows: a 0,1 = 2 a 0,2 + r 0 a 1,1 = 2 a 1,2 + r 1 2 , 1 1 , 2 0 a a z ! 2 , 0 1 , 3 1 2 a a z ! 2 , 3 1 , 0 2 2 2 a a z ! 2 , 2 1 , 1 3 2 a a z ! 2 , 3 1 , 3 3 a a r ! 2 , 0 1 , 0 0 a a r ! 2 , 1 1 , 1 1 a a r ! 2 , 2 1 , 2 2 a a r ! 2 C 1 C 3 C 4 C 1 , 3 a 2 , 3 a 1 , 1 a 2 , 1 a 1 , 0 a 2 , 0 a 1 , 2 a 2 , 2 a Sys tematic nodes Parity nodes Figure 1 . An MDS array code with two systematic and two parity nodes. All the ele ments are in finite field F 3 . The first pari ty column C 3 is the ro w sum and the second parity c olumn C 4 is generate d by the zigzags. F or example, zigza g z 0 contai ns the elements a i , j that satisfy f 1 j ( i ) = 0 . a 2,1 = 2 a 1,2 + z 0 a 3,1 = a 0,2 + z 1 Here all elements are in finite field F 3 . Hence, by accessing only h alf o f the rem aining info rmation, the erased no de can be rebuilt. Details on th is ne w code will be d iscussed in Section II. A related problem called r epair ban dwidth was first pro- posed in [6]. T he p aradigm ther e is that on e can access th e en- tire inform ation and perfo rm computation s with in each n ode, and the question is how much in formation is transmitted fo r rebuilding? A lo wer bou nd on the repair b andwidth was g iv en in [ 6]. When a single erasure occurs an d all the remainin g nodes ar e accessible, the lower bound for the band width is 1 r . Recently , a num ber o f codes were designed to achiev e the bandwidth lower bound. When th e numb er of parity no des is larger than that of the systematic n odes, explicit code construction s were gi ven in [8]–[10]. For all ca ses, [4], [11] achieved the lower bound asymptotically . It is clear that a lower b ound on the repair bandwid th is also a lo wer bou nd on the re building ratio. In [12] we presented an explicit constru ction of MDS array codes that achieve th e lower bound o n the ratio for r ebuilding any systematic node . A similar code construction w as gi ven in [3]. Also in [7] a similar code with 2 parities was p ropo sed - it has optima l repair bandwidth for any single erasure. The m ain contribution of this paper is an explicit construc- tion of MDS array codes with r parity nodes, that achiev es the lower bound 1 / r for rebuilding a ny systematic or parity node . The rebuilding o f a single erasure h as a n ef ficient implementatio n as computations within nodes are not required. Moreover , our codes h av e simple encoding and deco ding proced ures - when r = 2 and r = 3 , the co des requ ire finite- field sizes of 3 and 4 , respectively . The rest of the paper is organ ized as follows. Section II introdu ces the rebuilding ratio prob lem for MDS array codes and re views the code construction in [12]. Section III describes the co nstruction of our codes with optim al rebuilding ratio. Finally , the paper is summ arized in Section IV. I I . R E B U I L D I N G R AT I O P RO B L E M In this section we formally define the rebuilding ratio problem and re view th e code construction in [12]. W e then prove that the construc tion can be mad e an MDS code, in fact, th is will be the basis fo r proving tha t our newly prop osed construction wh ich is de scribed in Sec tion III is also an MDS code. W e first defin e the frame work of a systematic MDS array code. Let A = ( a i , j ) be an information arr ay of size p × q . A column is also called a nod e, and an entry is called an eleme nt. Each of the q colum ns is a systematic node in the code. W e add r parity column s to th is array o n th e rig ht, su ch that fro m any q colu mns, we can re cover the en tire infor mation. In [1 2], it was shown that if each infor mation element is p rotected b y exactly r parity elemen ts, then each p arity node corr esponds to q perm utations acting o n [ 0 , p − 1 ] . More specifically , suppo se the permutations are f 1 , f 2 , . . . , f q . Then the t -th element in this par ity nod e is a linear combinatio n of all elements a i , j such that f j ( i ) = t . Th e set of infor mation elem ents co ntained in this linear combina tion is called a zi gzag set . For the t -th element in th e l -th parity , t ∈ [ 0 , p − 1 ] , l ∈ [ 0, r − 1 ] , denote by f l 1 , . . . , f l q the set of associated permutation s, and Z l t the zigzag set. The ord ering o f th e elements in each node can be ar bitrary , hence, we can assume that the first p arity node is always a linear combination of each row (correspo nding to identity permutatio ns). Figure 1 is an example of such cod es. Th e first parity C 3 correspo nds to id entity permu tations. Th e second parity C 4 correspo nds to the p ermutatio ns f 1 1 = ( 2, 3, 0 , 1 ) , f 1 2 = ( 1, 0, 3 , 2 ) . For a given M DS cod e with para meters q , r , we ask what is the acce ssed fraction in order to rebuild a single n ode (in the average case) ? Hence, the r ebuilding ratio of a code is: R = ∑ q + r i = 1 ( # accessed elem ents to rebuild node i ) ( q + r ) ( # remainin g elem ents ) . When a systematic node is erased, we reb uild each unknown element by one of the parity nodes. That is, we access one parity elemen t containing the un known, and access all the elements in the cor respond ing zigzag set e xcept the unkn own. In ord er to lower th e numb er accesses, we would like to find ( i) good permutation s such that the accessed zigzag sets intersect as much as possible, and (ii) pr oper coefficients in t he linear combinations suc h that the code is MDS. For e xample, in Figure 1, in order to rebuild column C 1 , we access the zigzag sets A = { Z 0 0 , Z 0 1 } , B = { Z 1 0 , Z 1 1 } , correspond ing to parities { r 0 , r 1 } , { z 0 , z 1 } . The surviving elemen ts in A an d in B are id entical, i.e., { a 0,2 , a 1,2 } , therefo re, on ly 1 /2 of th e elements a re accessed. Besides, the coefficients { 1 , 2 } in th e parity linear co mbinatio ns guaran tee that any two nodes are sufficient to recover all the inform ation. Hen ce the code is MDS. Next we revie w the co nstruction with optimal rebuilding fo r systematic nodes that was presented in [12]. The idea in the code co nstruction was to form pe rmutation s based on r -ar y vectors. Let e 1 , e 2 , . . . , e k be th e standard vecto r basis of Z k r . W e will u se x to represent both an integer in [ 0, r k − 1 ] and its r -a ry exp ansion (th e r -ary vector o f len gth k ). It will be clear from the context which meaning is used. All the calculation s are done over Z r Construction 1 Let th e information array be of size r k × k . Define permutatio n f l j on [ 0, r k − 1 ] as f l j ( x ) = x + l e j , j ∈ [ 1 , k ] , l ∈ [ 0, r − 1 ] . For t ∈ [ 0, r k − 1 ] , we define the zigzag set Z l t in parity node l as the elements a i , j such that their coordin ates satisfy f l j ( i ) = t . Let Y j = { x ∈ [ 0, r k − 1 ] : x · e j = 0 } . Rebuild column j by accessing rows Y j in all remaining columns. Theorem 1 Construction 1 has optima l ratio 1/ r for rebuilding any systematic node [12]. Figure 1 is an example of Con struction 1. As mention ed before, only 1 /2 of the inform ation is accessed in or der to rebuild C 1 . The ac cessed elements are in rows Y 1 = { x ∈ [ 0, 3 ] : x · e 1 = 0 } = { 0 , 1 } . Next, we show th at b y assigning the coefficients in the parities proper ly , th e code is MDS. Let P j = ( a i , l ) b e the permutatio n matrix cor respond ing to f j = f 1 j , na mely , a i , l = 1 if l + e j = i , and a i , l = 0 o therwise. Assigning the coefficients is the same as modifyin g a i , l = 1 to other non-zero values. When r = 2, 3 , modify a i , l = 1 to a i , l = c , if l · ∑ j t = 1 e t = 0 , where c is an pr imitiv e element o f F 3 , F 4 , re spectiv ely . The above assignmen t will make the code MDS for r = 2, 3 [12]. For example, the c oefficients in Figure 1 is assigned in this way . When r ≥ 4 , modif y all a i , l = 1 to a i , l = λ j , fo r some λ j in a finite field F . Let the gen erator matrix of the code be G ′ =             I . . . I I · · · I P 1 1 · · · P 1 k . . . . . . P r − 1 1 · · · P r − 1 k             . The following theo rem shows that und er this assign ment the code can be MDS. Theorem 2 (1) Con struction 1 can be ma de an MDS code f or a large enough finite fi eld. (2) When r = 2, 3 , field of size 3 and 4 is suf ficient to make the code MDS. Pr o of: Part (2) was given in [12]. W e only prove part (1). An MDS co de means th at it can recover any r e rasures. Suppose t systematic nod es and r − t parity n odes are erased , 1 ≤ t ≤ r . Thu s suppose we delete fro m G ′ the system- atic rows { j 1 , j 2 , . . . , j t } and the rem aining parity nodes are { i 1 , i 2 , . . . , i t } . Then the fo llowing t × t blo ck m atrix sh ould be in vertible: G =     P i 1 j 1 · · · P i 1 j t . . . . . . P i t j 1 · · · P i t j t     (1) Its determin ant det ( G ) is a poly nomial with indetermina tes λ j 1 , . . . , λ j t . All term s have highest degree r k ( i 1 + · · · + i t ) . One term with highest degree is ∏ t s = 1 λ i s r k j s with non -zero coefficient 1 or − 1 . So d et ( G ) is a non-zero polyno mial. Up to n ow we o nly showed on e possible case of er asures. For any r erasures, we can find the correspo nding no n-zero polyno mial. The product of all these polynomials is again a non-ze ro poly nomial. H ence by [1] for a large enough field there exist assign ments of { λ j } such that the p olyno mial is not 0 . Then each G is invertible, an d the code is MDS. I I I . C O D E C O N S T RU C T I O N The c ode in [12] h as optimal rebuilding for systematic nodes. However , in ord er to rebuild a p arity no de, one has to access all the info rmation elem ents. In this sectio n we construct MDS arra y codes with optimal rebuilding ratio for rebuilding b oth the systematic and th e pa rity nod es. The co de has k − 1 systematic no des and r pa rities nodes, for any k , r . Consider the permutation f j = f 1 j in Con struction 1. It is clear that f j is a permutation of ord er r , i.e., f r i is th e identity permutatio n. For i ∈ [ 0, r − 1 ] , define X i as th e set of vectors of we ight i , nam ely , X i = { v ∈ Z k r : v · ( 1, . . . , 1 ) = i } . X 0 is a subgroup o f Z k r and X i = X 0 + i e k is its coset, wh ere e k = ( 0, . . . , 0, 1 ) . Assume the eleme nts in X i are o rdered , i ∈ [ 0, r − 1 ] , an d the ordering is X 0 = ( v 1 , . . . , v r k − 1 ) , X i = ( v 1 + i e k , . . . , v r k − 1 + i e k ) . Since th e or dering of the elements in each column does no t matter , we can reorder them as ( X 0 , X 1 , . . . , X r − 1 ) , with each X i ordered as above. On e can check that f j ( X i ) = X i + 1 , where the su bscript is added mod r . So the m atrix P j can b e ܫ  ݌ ʹ݌ ݌ ݌ ܫ ܣ ଴ ൌ ܣ ଵ ൌ ܣ ଴ ൌ ܣ ଵ ൌ ܫ  ݌ ߙ݌ ଶ ݌ ଶ ݌ ݌ ݌ ଶ ܫ ݌ ߙ݌ ଶ ߙ݌ ଶ ݌ ݌ ݌ ଶ ܫ ܣ ଶ ൌ Figure 2 . Parit y m atrice s A i for r = 2 (left ) and r = 3 (right ) parities. When the first parity node is erased, the underlined elements are acce ssed from systemat ic nodes. The remaining unkno wn elemen ts are reco vere d by the shaded elements from parity nodes. written as P j =      X 0 X 1 . . . X r − 1 X 0 p j X 1 p j . . . . . . X r − 1 p i      , (2) where p j correspo nds to the mappin g o f f j : X i 7→ X i + 1 . In particular, if p j is viewed as a permutation actin g o n X 0 , then for x ∈ X 0 , p j ( x ) = x + e j − e k . When r = 2 , 3 , m odify th e 1 en tries of p i into c if its correspo nding column l satisfies l · ∑ j t = 1 e t = 0 . Her e c is an primitive element in F 3 , F 4 . When r ≥ 4 , mod ify 1 entries into λ j . In the following, we will use blocks th e same as single elements. W hen referring to row o r column indices, we mea n block row o r colum n in dices. W e re fer to p j as a small b lock, and the corr espondin g b lock row or column as a small b lock row or column. And P j is called a big block with b ig block row or column. Mor eover , we assume th e elements in each column are in order ( X 0 , . . . , X r − 1 ) . Construction 2 Suppose the inform ation arr ay is of size r k × ( k − 1 ) . For j ∈ [ 1 , k − 1 ] , define a big block matrix A 0 j =           0 I 1 p j α p r − 1 j 2 p 2 j α p r − 2 j . . . . . . . . . r − 2 p r − 2 j p 2 j r − 1 p r − 1 j p j           where α 6 = 0, 1 is an element of the finite field and is multiplied to the diagonal in rows 1, . . . , ⌊ r 2 ⌋ . And define A i j by cyclicly ܽ ଴ǡଵ  ܽ ଴ǡଶ ܽ ଴ǡଵ ൅ ܽ ଴ǡଶ ܽ ହǡଵ ൅ ܽ ସǡଵ ൅ ܽ ଷǡଶ ൅ ܽ ଶǡଶ ܽ ଵǡଵ ܽ ଵǡଶ ܽ ହǡଵ ൅ ʹܽ ସǡଵ ൅ ܽ ଷǡଶ ൅ ʹܽ ଶǡଶ ܽ ଵǡଵ ൅ ܽ ଵǡଶ ܽ ଶǡଵ ܽ ଶǡଶ ܽ ଺ǡଵ ൅ ʹܽ ଻ǡଵ ൅ ʹܽ ଴ǡଶ ൅ ܽ ଵǡଶ ܽ ଶǡଵ ൅ ܽ ଶǡଶ ܽ ଷǡଵ ܽ ଷǡଶ ܽ ଷǡଵ ൅ ܽ ଷǡଶ ܽ ଺ǡଵ ൅ ܽ ଻ǡଵ ൅ ʹܽ ଴ǡଶ ൅ ʹܽ ଵǡଶ ܽ ସǡଵ ܽ ସǡଶ ʹܽ ଴ǡଵ ൅ ܽ ଵǡଵ ൅ ʹܽ ଺ǡଶ ൅ ܽ ଻ǡଶ ܽ ସǡଵ ൅ ܽ ସǡଶ ܽ ହǡଵ  ܽ ହǡଶ ܽ ହǡଵ ൅ ܽ ହǡଶ ʹܽ ଴ǡଵ ൅ ʹܽ ଵǡଵ ൅ ʹܽ ଺ǡଶ ൅ ʹܽ ଻ǡଶ ܽ ଺ǡଵ  ܽ ଺ǡଶ ܽ ଺ǡଵ ൅ ܽ ଺ǡଶ ʹܽ ଷǡଵ ൅ ʹܽ ଶǡଵ ൅ ܽ ହǡଶ ൅ ܽ ସǡଶ ܽ ଻ǡଵ ܽ ଻ǡଶ ʹܽ ଷǡଵ ൅ ܽ ଶǡଵ ൅ ܽ ହǡଶ ൅ ʹܽ ସǡଶ ܽ ଻ǡଵ ൅ ܽ ଻ǡଶ Figure 3 . An MDS array code with two systematic and two parity nodes by Construct ion 2. The finite field used is F 3 . The shaded element s are acce ssed to rebuil d the first parity node. shifting the rows and columns of A 0 j to the right and bottom by i positions: A i j =            β p i j p r − i j . . . . . . p j p r − 1 j I p j α p r − 1 j . . . . . .            , where β = α or 1 . If x − i < r 2 or x − i = r 2 , i < r 2 , coef ficient α is mu ltiplied to the diagon al in row x . Con struct the code as follows. Let the first k − 1 nodes be systematic, and the last r nodes b e parities. Parity i is defin ed by A i 1 , . . . , A i k − 1 . Th e generato r matrix is           I . . . I A 0 1 · · · A 0 k − 1 . . . . . . A r − 1 1 · · · A r − 1 k − 1           . Sometimes we will omit the subscript j when it is not importan t, and the superscript is computed mod r . Example 3 For two and three par ities, the ma trices A i are shown in Figure 2 . When r = 2 , as finite field F 3 is used, we can take α = 2 6 = 1 . Coef ficient α = 2 is multiplied to only the second d iagonal in A 0 . When r = 3 , finite field F 4 is u sed and we choose s ome α 6 = 0, 1 . W e multiply α to one diagonal block in each A i . An examp le of a c ode with 2 parities is shown in Figure 3 . Next we show that the cod e in Construction 2 h as optimal ratio. W e first observe that in A i , the x -th row is  i x · · · p x − i · · · β p i − x · · ·  , where the values ab ove are the colu mn indices and omitted blocks ar e all zero. Here β = α if x − i < r 2 or x − i = r 2 , i < r 2 , and β = 1 otherwise. Therefore, supp ose i ′ − i < r 2 or i ′ − i = r 2 , i < r 2 , then the i ′ -th r ow in A i and the i -th row in A i ′ are the same except for the coefficients:  i i ′ i ′ in A i · · · p i ′ − i · · · α p i − i ′ · · · i in A i ′ · · · p i ′ − i · · · p i − i ′ · · ·  . (3) Theorem 4 The code has ratio 1/ r for rebuilding any n ode. Pr o of: Systematic reb uilding: w .l.o.g. assume column e 1 is erased. Access equation s Y = { v ∈ Z k r : v · e 1 = 0 } from each p arity . W e fir st show that all the unknowns ( x 0 , . . . , x r k − 1 ) in colum n e 1 are solvable from these eq ua- tions. For all l ∈ Y , x l is contained in equatio n x l because of the small row blo ck [ · · · I · · · ] . Notice that Y is a subgrou p of Z k r , and Y − t e k = Y f or any t ∈ [ 0, r − 1 ] . For any l ∈ Y , supp ose l ∈ Y ∩ X i ′ f or some i ′ , so l + ( i − i ′ ) e k ∈ Y ∩ X i for all i ∈ [ 0, r − 1 ] . I n (3) consider r ow l in A i and row l + ( i − i ′ ) e k in A i ′ , and write t = i ′ − i ≤ ⌊ r 2 ⌋ . T hen we have eq uations b x l − t e 1 + α c x l + t ( e 1 − e k ) , b x l − t e 1 + c x l + t ( e 1 − e k ) , for some coefficients α 6 = 0, 1 and b , c 6 = 0 . Th ese equations are obviously independ ent. Moreover since l + t ( e 1 − e k ) ∈ Y + t e 1 , we can solve unknowns ind exed ∪ r − 1 t = 0 Y + t e 1 = [ 0 , r k − 1 ] . Hence all unkn owns a re solvable. Next we show that the fra ction of elements accessed in the remaining co lumns is 1 / r . F or a parity nod e A i , on ly rows Y are ac cessed, wh ich is a fra ction of 1/ r . The co rrespon ding columns in A i of theses equ ations a re accessed from the sys- tematic nod es. For a surv iving systema tic no de j ∈ [ 2, k − 1 ] and parity i , by definitio n of p i j , rows Y in A i j are mapped to column s Y ′ = Y + i ( e k − e j ) + s e k for some s . However , Y ′ is a coset of Y and since i ( e k − e j ) + s e k ∈ Y , we ha ve Y ′ = Y . Thus on ly elements with ind ices Y are a ccessed f rom each node. Parity reb uilding: Since the parities are all symmetric , w .l.o.g . suppose the first pa rity is erased. Access X 0 from ea ch node, which is the set o f vectors of weigh t 0 . Need to sh ow this is sufficient to recover A = [ A 0 1 , . . . , A 0 k − 1 ] , where A 0 j is d efined in Construc tion 2. Since X 0 is sent fro m the sy stematic nodes, the 0 -th column in each big block is known, and we can remove them from th e equations. By (3), from parity i ′ we can access row [ · · · β ′ p i ′ 1 · · · p − i ′ 1 · · · β ′ p i ′ 2 · · · p − i ′ 2 · · · ] , where the underlined elements are known from the systematic nodes and can b e treated as 0. Here β ′ is 1 or α . Multiplying this row by β , we can rebuild the i ′ -th row of A : [ · · · p i ′ 1 · · · β p − i ′ 1 · · · p i ′ 2 · · · β p − i ′ 2 · · · ] , where β β ′ = α and i ′ = 1, 2, . . . , r − 1 . The 0 - th row is rebuilt from the systematic nodes directly . Thus the erased node is rebuilt by accessing X 0 , which is 1/ r of the elements. Example 5 Consider the code with two or three parities in Figure 2 . When the first parity node is erased, one c an access X 0 from the systematic no des, and the unde rlined elements are known. Then access the shaded elements from the surviving parity nod es. It is easy to see that the first p arity can be rebuilt from the accessed elements. For the sp ecific example o f Figur e 3 , when the first sys- tematic node is erased , one can a ccess ro ws 0, 1, 2, 3 from all surviving nod es. When the first parity node is erased, one can access rows 0, 3, 5, 6 from all the r emaining n odes (th e shaded elements). Then it is easy to check that in bo th cases it is sufficient to rebuild the erased column. Next we show th e constru ction is indeed an MDS code. W e p rove this by r educing this p roblem to the fact that Construction 1 is MDS. First we make an observation on the small blocks. Lemma 6 Construction 1 is MDS iff any t × t sub bloc k matrix of H ′ =    p 0 1 · · · p 0 k . . . . . . p r − 1 1 · · · p r − 1 k    is in vertible, for all t ∈ [ 1, r ] . Pr o of: Consider the t × t sub block matrix of H ′ : H =    p 0 1 · · · p 0 t . . . . . . p t − 1 1 · · · p t − 1 t    . W e showed in Theorem 2 th at Construction 1 is M DS if f an y G in (1) is invertible. W .l.o.g. suppose { i 1 , . . . , i t } = { 0, . . . , t − 1 } , { j 1 , . . . , j t } = { 1 , . . . , t } . By (2), G can be re written as G =                             I I I I . . . . . . . . . I I p 1 p 2 p 1 p 2 . . . . . . . . . p 1 p 2 p 2 1 p 2 2 p 2 1 p 2 2 . . . p 2 1 p 2 2 . . . . . . . . . . . .                             , where each big block is composed of r × r small blocks. W e can see that the shaded small block s are the only n on-zer o blocks in their correspondin g rows and columns, and the y form the sub-matrix H . Therefo re G bein g invertible is equiv alent to H and the remaining sub-matrix both bein g invertible. Moreover th e remainin g sub-matrix has a similar for m as G and we can again fin d t rows and t columns corresp onding to H . Con tinue this we get det ( G ) 6 = 0 ⇔ ( det ( H ) ) r 6 = 0 ⇔ det ( H ) 6 = 0. The same conclusion holds f or any sub m atrix of H ′ . Thus completes the proof . The method of taking ou t sub block matrices to compu te the determinan t as ab ove is also u sed in the proof of the following theorem, which shows that Con struction 2 is indeed an MDS code. Theorem 7 If the coefficients in the linear combina tions of the p arities a re c hosen such that Construction 1 is MDS, then Construction 2 is also MDS. Pr o of: Similar to Theorem 2 , Constructio n 2 being MDS means any of the following matrix is invertible: A =     A i 1 j 1 · · · A i 1 j t . . . . . . A i t j 1 · · · A i t j t     r t × r t , where t ∈ [ 1, r ] , I = { i 1 , . . . , i t } ⊆ [ 0, r − 1 ] , { j 1 , . . . , j t } ⊆ [ 1, k − 1 ] . Let the co mplement of I be I = [ 0, r − 1 ] \ I . In each big block conside r the small block column x ∈ I . Only small blo ck rows x in ea ch b ig block are no n-zero. Thu s we can take out this t × t su b block matrix:     β 1 p i 1 − x j 1 · · · β 1 p i 1 − x j t . . . . . . β t p i t − x j 1 · · · β t p i t − x j t     , where { β i } are 1 o r α . But b y L emma 6, the above matrix is in vertible. So we only need to look at th e remaining sub matrix. Again, we can take o ut another small b lock column and row from I from each big b lock, an d it is inv ertible by Lem ma 6. Continu e this p rocess, we are left with o nly colu mns and rows of I in each big block . For all i , i ′ ∈ I , 1 ≤ i ′ − i < r 2 or i ′ − i = r 2 , i < r 2 , consider row i ′ in A i and row i in A i ′ . They are shown in (3). One can d o r ow operations and keep the in vertibility o f the matrix, and get i i ′ i i ′ i ′ in A i · · · 0 · · · p i − i ′ j 1 · · · 0 · · · p i − i ′ j t · · · i in A i ′ · · · p i ′ − i j 1 · · · 0 · · · p i ′ − i j t · · · 0 · · · ! . Proceed this f or all i , i ′ ∈ I , w e are le ft with block diagonal matrix in each big bloc k and th e matr ix left is of size t 2 × t 2 . T aking o ut the i 1 -th column and row in each big block, we have the following t × t sub matrix:        p 0 j 1 · · · p 0 j t p i 2 − i 1 j 1 · · · p i 2 − i 1 j t . . . . . . p i t − i 1 j 1 · · · p i t − i 1 j t        , which is in vertible by Lemma 6. Similarly , we can take out th e i 2 -th column and row , and so on, an d each sub matrix is aga in in vertible. Thus, any matrix A is invertible and Construction 2 is MDS. For example, one can easily ch eck that the co de in Figure 3 is ab le to rec over the infor mation fro m any two nodes. Therefo re it is an MDS code. I V . S U M M A RY In this p aper, we p resented con structions of MDS array codes that achiev e the optim al rebuilding ratio 1 / r , wher e r is the number of redu ndancy nod es. The new codes are constructed based on our previous co nstruction in [12] and improve the ef ficiency of the rebuilding access. Now we mention a couple of open pro blems. For exam ple, if there are k − 1 systematic nodes and r parity n odes, the n our code has r k rows. Namely , the code length is limited, are there codes that are lo nger given the n umber of rows? For example, when r = 2 , we kn ow an optimal re building ratio construction with r k rows an d k systematic nodes: A 0 j =  I 0 p j I  , A 1 j =  I p j 0 I  . Here A 0 j , A 1 j are the matrices th at generate the parities, an d we can take all j ∈ [ 1, k ] . On the o ther hand, given r k rows, it can be proven th at any systematic and linear code with optimal ratio has n o more than k + 1 systematic nodes. Thus the p roposed code length can be impr oved by at mo st 2 n odes. Finally , using the code in [ 12] one is a ble to rebuild any e , 1 ≤ e ≤ r , systematic erasures with an access ratio of e / r . Howe ver , it is an ope n problem to constru ct a code that can rebuild any e erasures with optimal access. A C K N O W L E D G M E N T W e th ank Dimitris Papailiopoulos, Alexan dros Dimak is a nd V iveck C adambe for the inspirin g discussions. R E F E R E N C E S [1] N. Alon, “Combina torial nullstelle nsatz, ” Combinatorics Probabi lity and Computing , vol. 8, no. 1-2, pp. 7–29, Jan 1999. [2] M. Blaum, J. Brady , J. Bruck, and J. Menon, “EVENODD: an ef ficient scheme for tolerat ing double disk failures in RAID architectu res, ” IEEE T rans. on Computer s , vol. 44, no. 2, pp. 192–202, Feb . 1995. [3] V . R. Cadambe, C. Huang , S. A. Jafar , and J. Li, “Optimal repair of MDS codes in distrib uted storage via s ubspace interference alignment, ” T ech. Rep. arXi v:1106.125 0 , 2011. [4] V . Cadambe, S. Jafar , and H. Maleki , “Distrib uted data s torage with minimum stora ge re generat ing codes - e xac t and functional repair are asymptotic ally equally effci ent, ” in W iNC , 2010. [5] P . Corb ett, B. English, A. Goel, T . Grcana c, S. K leiman, J. Leong, and S. Sankar , “Ro w-dia gonal pa rity for double disk failure correction, ” in Pr oc. of the 3rd USENIX Symp osium on F ile and Storag e T echnolo gies (F AST 04) , 2004. [6] A. Dimakis, P . Godfre y , Y . W u, M. W ainwri ght, and K. Ramchandran, “Netw ork coding for distribute d storage s ystems, ” IEEE T ra ns. on Informatio n Theory , vol. 56, no. 9, pp. 4539–4551, 2010. [7] D. S. Papailiop oulos, A. G. Dimakis, and V . R. Cadambe, “Re- pair opti mal erasure codes through hadamard designs, ”, T ech. Rep. arXi v:1106 .1634 , 2011. [8] K. V . Rashmi, N. B. Shah, P . V . Kumar , “Opti mal exact-re gene rating codes for distribute d stora ge at the MS R and MBR points via a product- matrix constructio n, ” T ech. Rep. arXiv: 1005.4178, 2010. [9] N. B. Shah, K. V . Rashmi, P . V . Kumar , and K. Ramchandran, “Interfer- ence alignment in re gene rating c odes for di strib uted stora ge: necessity and code constructions, ” T ec h. Rep. arXiv: 1005.1634 , 2010. [10] C. Suh and K. Ramchandra n, “Exact regenerati on codes for distribute d storage repair using interferenc e al ignment, ” in ISIT , 2010. [11] C. Suh and K. Ramchand ran, “On the e xistenc e of optimal exa ct-repa ir MDS codes for distribut ed storage, ” T ech. Rep. arXi v:1004.4663, 2010 . [12] I. T amo, Z. W ang, and J. Bruck, “MDS array codes with optimal rebui lding, ” T ech. Rep. arXi v:1103.3737, 2011.

Original Paper

Loading high-quality paper...

Comments & Academic Discussion

Loading comments...

Leave a Comment