27.01.2015 Views

Note de curs - Departamentul Automatica, Calculatoare si ...

Note de curs - Departamentul Automatica, Calculatoare si ...

Note de curs - Departamentul Automatica, Calculatoare si ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

O reformulare a problemei sunǎ astfel: sunt date n date d 1 , d 2 , …, d n , toate <strong>de</strong><br />

dimen<strong>si</strong>unea w. Se <strong>de</strong>finesc functiile F <strong>si</strong> G care sunt utilizate pentru a calcula<br />

<strong>si</strong> pentru a întretine, a mentine actuale cuvintele <strong>de</strong> verificare c 1 , c 2 , …, c m . Se<br />

face o <strong>de</strong>scriere a modului cum se reconstituie cuvintele pe orice suport esuat<br />

când numǎrul <strong>de</strong> dispozitive <strong>de</strong> memorare <strong>de</strong>fecte nu <strong>de</strong>pǎseste m. Odatǎ<br />

cuvintele-date reconstituite se recalculeazǎ cuvintele <strong>de</strong> verificare din cuvinteledate<br />

cu ajutorul functiilor F. Sistemul este refǎcut în întregime.<br />

Algoritmul RS-RAID<br />

Trei aspecte sunt <strong>de</strong>osebite în aplicarea algoritmului. Primul constǎ în utilizarea<br />

matricilor Van<strong>de</strong>rmon<strong>de</strong> (Alexandre-Théophile Van<strong>de</strong>rmon<strong>de</strong>, 1735-1796)<br />

pentru calculul <strong>si</strong> mentinerea cuvintelor <strong>de</strong> control, al doilea este utilizarea<br />

eliminǎrii Gauss pentru recuperarea din starea <strong>de</strong> nefunctionare <strong>si</strong> al treilea,<br />

utilizarea aritmeticii specifice câmpurilor Galois. Acestea toate sunt <strong>de</strong>taliate în<br />

continuare.<br />

Calculul <strong>si</strong> întretinerea cuvintelor <strong>de</strong> verificare<br />

Functiile F i sunt prin <strong>de</strong>finitie combinatii liniare ale cuvintelor-date<br />

c<br />

i<br />

=<br />

F ( d<br />

i<br />

1<br />

, d<br />

2,...,<br />

d<br />

n<br />

)<br />

Cu alte cuvinte, dacǎ se adoptǎ o reprezentare matricialǎ cu D <strong>si</strong> C vectori <strong>si</strong> F i<br />

linii într-o matrice F<br />

FD = C<br />

Matricea F este <strong>de</strong>finitǎ ca o matrice Van<strong>de</strong>rmon<strong>de</strong> mxn cu f i,j = j i – 1 , ceea ce<br />

face din relatia <strong>de</strong> mai sus<br />

⎡ f f f ⎤ ⎡ d ⎤ ⎡1<br />

1 1 1 ⎤ ⎡ d ⎤ ⎡ c ⎤<br />

1,1<br />

1,2<br />

1, n<br />

1<br />

⎢<br />

⎥ ⎢ ⎥ ⎢<br />

⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢<br />

f<br />

2,1<br />

f<br />

2,2<br />

f<br />

2, n<br />

⎥ ⎢<br />

d<br />

2 ⎥ ⎢<br />

1 2 3 n<br />

=<br />

⎥ ⎢<br />

d<br />

2 ⎥ = ⎢<br />

c2<br />

⎥<br />

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎢<br />

⎥ ⎢ ⎥ ⎢ m−<br />

1 m−<br />

1<br />

m−<br />

1 ⎥ ⎢ ⎥ ⎢ ⎥<br />

⎣ f<br />

m,1<br />

f<br />

m,2<br />

f<br />

m,<br />

n ⎦ ⎣ d<br />

n ⎦ ⎣1<br />

2 3 n ⎦ ⎣ d<br />

n ⎦ ⎣ cm<br />

⎦<br />

Când unul din cuvintele-date d j se schimbǎ în d j ’ cuvintele <strong>de</strong> verificare trebuie<br />

schimbate în consecintǎ. Prin scǎ<strong>de</strong>rea portiunii din cuvântul <strong>de</strong> verificare care<br />

corespun<strong>de</strong> lui d j <strong>si</strong> adunarea cantitǎtii necesare pentru d j ’ se obtine pentru G i,j<br />

<strong>de</strong>finitia din relatia <strong>de</strong> mai jos<br />

c′<br />

i<br />

= Gi, j<br />

( d<br />

j<br />

, d ′<br />

j<br />

, ci<br />

) = ci<br />

+ fi,<br />

j<br />

( d ′<br />

j<br />

− d<br />

j<br />

)<br />

Asadar, calcularea <strong>si</strong> întretinerea cuvintelor <strong>de</strong> verificare pot fi fǎcute printr-o<br />

aritmeticǎ <strong>si</strong>mplǎ, dar dupǎ regulile date mai <strong>de</strong>parte.<br />

=<br />

n<br />

∑<br />

j = 1<br />

d<br />

j<br />

f<br />

i,<br />

j<br />

1<br />

1<br />

111

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!