Failure Correction Techniques for Large Disk Array

21
1 Failure Correction Techniques for Large Disk Array Garth A. Gibson, Lisa Hellerstein et al. University of California at Berkeley

description

Failure Correction Techniques for Large Disk Array. Garth A. Gibson, Lisa Hellerstein et al. University of California at Berkeley. What is the problem?. Disk arrays can increase I/O bandwidth and access parallelism The chance of data loss increases with the increasing number of disk arrays. - PowerPoint PPT Presentation

Transcript of Failure Correction Techniques for Large Disk Array

Page 1: Failure Correction Techniques for Large Disk Array

1

Failure Correction Techniques for Large Disk Array

Garth A. Gibson, Lisa Hellerstein et al.

University of California at Berkeley

Page 2: Failure Correction Techniques for Large Disk Array

2

What is the problem?• Disk arrays can increase I/O bandwidth and

access parallelism• The chance of data loss increases with the

increasing number of disk arrays

Figure 1. The mean time to data loss (MTTDL) in a single-erasure-correcting array.

Page 3: Failure Correction Techniques for Large Disk Array

3

Types of data failure

• Transient or noise-related errors:

Correct by repeating the offending operation

or by applying per sector error-correction facilities• Media defects:

detect and mask at the factory• Catastrophic failures -- Head crashes or failures of

the read/write or controller electronics

Page 4: Failure Correction Techniques for Large Disk Array

4

The goal of this paper

• Avoid loss of user data

• Recover the catastrophic disk failures

• Make disk arrays as reliable as an individual

disk

Page 5: Failure Correction Techniques for Large Disk Array

5

Concept 1 -- erasure-correcting codes and error-correcting codes

• Erasure-correcting codes are designed to recover erased bits in a message word

– An unreadable bit is called an erasure

– The position of the erased bits are known

– For a catastrophic disk failure, the bits on a failed disk can be designated as “unreadable”

• Error-correcting codes are designed to correct messages in which some of the bits may have been flipped, but the positions of those bits are unknown.

Page 6: Failure Correction Techniques for Large Disk Array

6

Concept 2 -- Redundancy Metrics

• Disk as stack of bits -ith.bit in each disk forms the ith.Codeword in the redundancy encoding

• Mean time to data loss (MTTDL): measure of reliability• Check disk overhead: check disks/data disks• Update penalty: number of check disks to be updated• Group size: the information and check disk that must be

accessed during the reconstruction of a failed disk form a group

Page 7: Failure Correction Techniques for Large Disk Array

7

1d - Parity

• Single-erasure-correction scheme• For G data disks, one check disk with parity of all G disks.

G = 4

• Overhead: 1/G

• Update penalty: 1

• Group size: G+1

Page 8: Failure Correction Techniques for Large Disk Array

8

2d - Parity

• Double-erasure-correction scheme

• G2 data disks arranged in 2-dimensional array

• For each row and each column, one check disk

stores parity for that row or column

G = 4

• Check disk Overhead:

2G/G2 =2/G

• Update penalty: 2

• Group size = G+1

Page 9: Failure Correction Techniques for Large Disk Array

9

N-dimensional parity (Nd-parity)

• N-erasure-correction scheme

• Check disk overhead: NG(N-1) / GN = N/G

• Update penalty: N

• Group size: G+1

Page 10: Failure Correction Techniques for Large Disk Array

10

Linear Codes Contain the original information unmodified

within each codeword and compute the check bits of each codeword as the parity of subsets of the information bits

Codeword = 1 1 1 1

Parity

Page 11: Failure Correction Techniques for Large Disk Array

11

Parity Check Matrix H = [P | I]

Fig. 4

How to compute the check parity bit? H*X = 0

First row of H = [100101 100] X = [111010 x1 x2 x3]

P I

H*X = 1+0+0+0+0+0+x1+0+0 = 0 x1=1

Page 12: Failure Correction Techniques for Large Disk Array

12

Parity Check Matrix for 1d-parity and 2d-parity

Fig. 5

Page 13: Failure Correction Techniques for Large Disk Array

13

Properties of the parity check matrix

• Express in terms of a parameter, t,

whose value is between 0 and c

• H will allow any t erasures to be corrected

• H will allow any t errors to be detected

• The minimum number of bits in which any two codewords

differ, known as the distance of the code, is at least t+1

• Any set of t column selected from will be linearly

independent

Page 14: Failure Correction Techniques for Large Disk Array

14

Implementing Reconstruction

Fig. 6(a). When 4 disks fail in a 16 information disk 2d-parity array, the controllers allow us to identify which disks need to be repaired and reconstructed.

0 10000 01100 00000 00010 00000 01000 10001 0011

Page 15: Failure Correction Techniques for Large Disk Array

15

Implementing Reconstruction cont.

Fig. 6(b) Apply “elementary row operations” (the essence of Gaussian elimination) to find a matrix M, such that the product MB has the 4*4 identity matrix in its first four rows.

Page 16: Failure Correction Techniques for Large Disk Array

16

Elementary operation

• If we interchange two

equation, the new system is

still equivalent to the old

one.

• If we multiply an equation

with a nonzero number, the

new system is still

equivalent to the old one.

• Replacing one equation with

the sum of two equation, we

obtain an equivalent system

Example: x + y + z = 0 (1) x - 2y + 2z = 4 (2) x + 2y - z = 2 (3)

(3) - (1) to replace (3) x + y + z = 0 (1) x - 2y + 2z = 4 (2) y - 2z = 0 (4)

(2)-(1) to replace (2) x + y + z = 0 (1) - 3y +z = 4 (5) y - 2z = 0 (4)

(5)+(4)*3 to replace (4) x + y + z = 0 (1) - 3y +z = 4 (5) - 5z= 10 (6)

result: x=4, y=-2, z=-2

Page 17: Failure Correction Techniques for Large Disk Array

17

Gaussian EliminationDefinition:Using elementary operation, in every step the new matrix was exactly the augmented matrix associated to the new system. Once we obtain a triangular matrix, write the associated linear system and then solve it.

augmented matrix:

1 1 1 0 1 -2 2 4 1 2 -1 2

(3) - (1) to replace (3)

1 1 1 0 1 -2 2 4 0 1 -2 2

(2)-(1) to replace (2)

1 1 1 0 1 -3 1 4 0 1 -2 2

(5)+(4)*3 to replace (4)

1 1 1 0 0 -3 1 4 0 0 -5 10

Example:x + y + z = 0 (1)x - 2y + 2z = 4 (2)x + 2y - z = 2 (3)

The linear equation :

x + y + z = 0 - 3y +z = 4 - 5z= 10

Page 18: Failure Correction Techniques for Large Disk Array

18

Implementing Reconstruction cont.

Fig. 6 (C) The first 4 rows of MA describe the operations that must be performed to reconstruct our 4 disks.

012 34567 89 1511 10 0 0000000 1000000001 00 0 0100010 0000010001 01 1 0100010 0100010000 00 0 0000111 0001000010 01 0 1000100 00001000

Page 19: Failure Correction Techniques for Large Disk Array

19

The position for codes with t-erasure-correction

• Be implemented in software• Run in an I/O processor• Software learns of failures directly from disk

controllers

Page 20: Failure Correction Techniques for Large Disk Array

20

Conclusion

• Implement the redundancy codes for disk arrays

• Minimize the number of check disks that must be updated whenever an information disk is updated

• Improve the reliability of disk arrays

Page 21: Failure Correction Techniques for Large Disk Array

21

Question

• What is codeword for redundancy disk?

• List three redundancy metrics

• What are 1d-parity and 2d-parity schemes?

• What mathematical operation to be used for recovering failed disk?