ࡱ> v( / 0DArialngsRo$xLluv 0( 0"DTimes New Romanluv 0( 0 DWingdingsRomanluv 0( 0 b$0. @n?" dd@  @@`` @8p= () ** ()       !"#$%&'()*+,-./0123456789:;<= 0AA@84ʚ;w8ʚ;g4JdJdv 0Vppp@ <4dddd` 0LXv <4!d!d 0Lg4ddddv 0 p@ pp80___PPT10 pp?  %O  =gH$Universidade da Beira Interior?Fiabilidade de Sistemas Informticos Nuno Magarreiro n. 14805:%&,I%Memria Estvelndice: Introduo Definio do problema Mtodos de implementao: Usando um nico disco Disk Shadowing RAID (Redudant Arrays os Disks)  >E    E b] p& IntroduoAssume-se que um sistema possui memria estvel quando os seus contedos so preservados depois da ocorrncia de falhas. Nestes sistemas, o contedo do disco frequentemente copiado para sistemas de armazenamento secundrios. Os discos no so uma forma muito segura de memria estvel. Para sistemas de tolerncia a falhas, a confiana que a memria estvel feita por um disco normal proporciona no aceitvel.Ry j = r'Definio do problemaO problema principal ter sistemas de armazenamento fsico que tm vrias falhas e convert-los num sistema de armazenamento de memria estvel. Nenhum sistema consegue ser completamente tolerante a falhas. Para uma melhor percepo do problema vai-se estudar primeiro o sistema fsico no qual a memria estvel ser construda, assim como as falhas existentes neste sistema fsico. A memria estvel normalmente construda com sistemas de discos. Z=& & Ct(Definio do problema O sistema de armazenamento dum disco constitudo por um conjunto de pginas. Cada pgina possui blocos de informao e a cada bloco est associado um estado. O estado por ser correcto ou incorrecto, indicando se a informao nesse bloco correcta ou se est corrompida. Se o estado dum bloco for incorrecto, a tentativa de leitura desse bloco pelo sistema pode no ser conseguida com xito. ZP&&Q&&&&& &H& &T&    v)Definio do problemaExistem duas operaes atravs das quais o processador (ou um processo) pode interagir com o disco: procedure write (addr, data) procedure read (addr) returns (status, data). A operao de escrita possui dois parmetros: A localizao do sector (addr) e A informao que deve ser escrita nesse sector. Esta operao no devolve qualquer valor. A operao de leitura possui um parmetro: A localizao do sector que vai ser lido. Esta operao devolve a informao desse sector assim como o estado da operao. fZ|Z}Z,Z|Ze&  & /&{& +{    hf     Ix*Definio do problemaExistem vrios tipos de falhas que podem ocorrer num sistema de discos. Algumas das mais comuns so: Falhas transitrias Sector danificado Falha de um controlador Crash do disco iTI&    &  z+Definio do problemaaAinda existem outras causas possveis que provocam falhas no disco. Os acontecimentos que ocorrem no disco podem ser resultado de operaes de escrita ou de leitura ou ainda de outros eventos. Alguns destes eventos so desejveis mas outros so indesejveis. Para se ter memria estvel, devem-se conseguir disfarar os acontecimentos indesejveis. bC&}&&$&    Y&|,Definio do problemaOs resultados indesejveis que podem acontecer numa operao de leitura so: Soft read error: O estado da pgina a correcto, mas a operao de leitura devolve incorrecto. Erro de leitura persistente: O estado da pgina a correcto mas a operao de leitura devolve incorrecto, e as leituras seguintes tambm devolvem incorrecto. Erro indetectvel: O estado da pgina a incorrecto mas a operao de leitura devolve correcto, ou ento o estado da pgina a correcto, e a operao de leitura devolve informao errada.NM&& &&&&&&& & &&& &&&&&&& & &*& &&& &&&& &&& &&&&&&&&5&>N~-Definio do problemaL Os resultados indesejveis para uma operao de escrita (addr, data) so: Escrita nula: A pgina a no alterada. Escrita incorrecta: Se se tentar ler a pagina devolvido (incorrecto , d ). Para alm dos erros descritos existem ainda os decays events que tambm provocam falhas no disco..Mxb1&&&& &&&& ;&&&/&&&&&&>:&.Definio do problemaE Decay event: Erro provocado pela falha de um componente que na grande maioria das vezes funciona correctamente. Decay set: Conjunto dos erros causados por um decay event. Decay related: Duas pginas so decay related se ambas so afectadas por erros que pertencem ao mesmo decay set. Os decays events raramente acontecem.F e %  & "9& &&& &&bo0Definio do problemaPara implementar uma aproximao de memria estvel com um nico disco, assume-se que possvel dividir o disco em pares de pginas que no so decay related. Consideram-se os seguintes decay events: Corrupo: Uma pgina varia de (correcto,d) para (incorrecto,d). Recuperao: Uma pgina passa de (incorrecto,d) para (correcto,d) Erro no detectado: a pgina muda de (s,d) para (s,d) com d diferente de d.& &&& &&& & && &%& && &'&&&&&#  %  (1Definio do problema? importante salientar que: Os resultados de qualquer operao que esteja a ser executada quando ocorre uma falha so imprevisveis. Se ocorrer uma falha quando alguma operao est a ser efectuada no disco, o resultado dessa operao deve ser considerado indesejvel. O objectivo dos sistemas de memria estvel ter um ou mais discos de armazenamento que podem falhar duma das vrias maneiras anteriormente descritas e, com eles, construir um sistema onde as operaes essenciais do disco (como a leitura e a escrita) continuem a funcionar depois da ocorrncia de erros.p$&& && 1&2 Implementaoi De seguida vo ser apresentados alguns mtodos que proporcionam uma aproximao memria estvel usando discos de armazenamento. Estes mtodos, tal como todas as tcnicas de suporte a falhas, apenas conseguem fornecer aproximaes do que seria ideal. Estes mtodos apenas suportam alguns tipos de falhas (os que, na prtica, ocorrem com mais frequncia). j&&&y&&&g4 ImplementaobUsando um nico disco Primeiro, vai-se construir um  Careful disk storage com duas operaes: CarefulRead e CarefulWrite. Na CarefulRead, a leitura repetida at o valor devolvido para o estado ser correcto ou, depois de um certo nmero de tentativas, se concluir que a pgina no poder ser lida. Na CarefulWrite a operao de escrita seguida da operao de leitura at ser devolvido o estado correcto. Assim eliminam-se a escrita nula e os erros de escrita incorrecta mas no se anulam os decay events nem os erros durante a operao de CarefulWrite.B&& &&& && &&& & &?& &[&& & &S& &&& & &&&& &$& &&6     $ 5 ImplementaoUsando um nico disco A memria estvel representada por um par ordenado de pginas do disco, no podendo estas pginas ser decay related. A informao da pgina duplicada para ambas as pginas deste par. Com isto, podemos implementar as operaes StableRead e StableWrite:&&h& &&& D&& 5&&&,  6 ImplementaooUsando um nico disco A StableRead faz uma CarefulRead para uma das pginas do par, e se o resultado for mau, faz uma CarefulRead para a outra. A StableWrite primeiro faz uma CarefulWrite para uma das pginas representativas. Quando a operao completada com sucesso, feita uma CarefulWrite para a outra pgina. Assim resolve-se o problema dos decay events. vX&H& &&&  @   _ =7 ImplementaoiUsando um nico disco De qualquer modo, os crashes durante a StableWrite podem causar duas pginas representativas diferentes. Para se estar protegido desta situao, deve ser feita uma operao de limpeza. Esta aco feita para todas as pginas pelo menos aquando da inicializao do sistema e depois de cada erro. A operao de limpeza consiste em: Q&&i&& Q&& p&& #&& &,         8 Implementao3Usando um nico disco Efectuar a operao de CarefulRead para as duas pginas. Se ambas devolverem o estado correcto e a mesma informao No se faz nada Else Se apenas uma pgina devolver o estado incorrecto Efectuar a operao de CarefulWrite para escrever a informao da pgina com estado correcto para a pgina com estado incorrecto Else Se as duas pginas devolvem o estado correcto mas informao diferente /* porque ocorreu um erro durante a StableWrite */ Escolher uma das duas pginas e fazer uma CarefulWrite para a outra. \Z9ZZZ&& W  2 ,B 3  & L                                                                                                                             9 Implementao$Usando um nico disco Limitaes: Apesar desta implementao para memria estvel conseguir suportar acontecimentos indesejveis como soft read error, escrita nula, m escrita e o erro de leitura persistente (apenas se s uma das pginas representativas tiver estes erros) no consegue proteger-se de acontecimentos como um crash do disco. Embora as inconsistncias causadas pela falha dum controlador poderem ser protegidas, a informao armazenada intil para todos os outros processos at que o processo que sofreu o erro seja recuperado. && && 1&&& &P: ImplementaoDisk Shadowing (ou Disk Mirroring) Disk shadowing , essencialmente, uma implementao do esquema descrito anteriormente, no qual duas paginas representativas da memria residem em dois discos diferentes (e, consequentemente, satisfazem o facto de no estarem decay related). O principal objectivo aumentar a confiana e a disponibilidade do armazenamento secundrio. Vai ser considerado o caso em que so usados apenas dois discos. Neste caso, os discos so chamados de discos espelho. $#&&&& _&& x&l   ; ImplementaoDisk Shadowing (ou Disk Mirroring) Um ou mais processos/processadores podem ser ligados aos discos espelho. Quando um processo/processador escreve informao, esta escrita nos dois discos espelho. Os pedidos de leitura so executados a partir de qualquer um dos discos. Disk mirroring consegue suportar falhas do disco completo e permite aceder informao do disco enquanto o processo/processador que falhou est a ser reparado. Assim, a utilizao de discos espelho proporciona uma boa aproximao memria estvel. Mas deve ficar claro que este no um exemplo perfeito de memria estvel uma vez que no suportado o facto dos dois discos falharem. $u#&& && && &l   x< Implementao&Disk Shadowing (ou Disk Mirroring) Com a utilizao de discos espelho, apenas ocorre uma falha no sistema de memria estvel se falharem os dois discos. Especificamente, se um disco falha, e o outro falha antes do primeiro estar arranjado. Se o tempo mdio para a falha dum disco for MTTF, e o tempo mdio para o reparar for MTTR, e se o tempo para a falha e o tempo para a reparao estiverem distribudos exponencialmente, ento o tempo mdio entre falhas dos discos espelho pode ser dado pela expresso: MTTF mirror = (MTTF/2) * (MTTF / MTTR). $(#&& && && '&&^  ' = ImplementaoDisk Shadowing (ou Disk Mirroring) Intuitivamente, a equao diz que, na mdia, a primeira falha acontecer depois de MTTF/2 e MTTF/MTTR refere a probabilidade do segundo disco falhar enquanto o primeiro est a ser reparado. Se o MTTF de um disco for 100 dias, e o tempo necessrio para o arranjar 1 dia, ento o tempo mdio para o sistema de discos espelho falhar de 5000 dias (aproximadamente 14 anos). Claramente, se se usarem discos de confiana ento o sistema de discos espelho proporciona uma boa aproximao de memria estvel.J$#&& &H  > ImplementaoRAID (Redudant Arrays of Disks) Os sistemas RAID so um mtodo com boa relao qualidade/preo para simular discos de grande capacidade. Nestes sistemas, a informao dividida pelos mltiplos discos usando bit-interleaving. Bit-interleaving proporciona uma boa performance de I/O, desde que o acesso aos diferentes discos possa ser feito em paralelo. Mesmo assim, um conjunto de discos usado desta maneira s de confiana se a falha de um dos discos no provocar que toda a informao se torne inacessvel.  !&&&& j&& G&&&& &p&& &t? ImplementaoRAID (Redudant Arrays of Disks) A soluo passa por ter alguns discos com informao redundante. De seguida vai-se descrever uma implementao particular de RAID que, para cada grupo de discos, utiliza apenas um disco de verificao. Nesta implementao os discos esto divididos em grupos. Os discos redundantes armazenam a paridade do conjunto de bits dos discos de dados do grupo. !c&&&& A&& && 9&& ]&& Pg@ Implementao$RAID (Redudant Arrays of Disks) A falha de qualquer disco pode ser completamente ocultada desde que o disco que falha consiga descobrir que efectivamente falhou. Com isto, a informao do disco que falhou pode ser reconstruda atravs do clculo da paridade dos restantes discos de dados e comparando-a com a paridade que est armazenada no disco de verificao. claro que este mtodo de implementao RAID consegue suportar a falha dum nico disco. Nesta implementao, a falha do sistema RAID acontece apenas se mais de um disco falhar. !&&&& && && Z&& Z&& PA ImplementaodRAID (Redudant Arrays of Disks) Assumindo que o sistema RAID consiste apenas num nico grupo de discos, com G discos de dados e C discos de verificao (total de discos: C + G) e se o tempo de falha e de recuperao de cada disco for distribuda exponencialmente, e o tempo mdio de falha de cada disco for MTTF e o tempo de reparao for MTTR, ento o tempo mdio de falha do grupo (RAID) pode ser dado por: MTTF raid = (MTTF / (G+ C)) * (MTTF / (G + C -1)) / MTTR . O primeiro termo o tempo mdio de falha do primeiro disco, em que o tempo mdio de falha dum disco dividido pelo numero total de discos. !z&&&& y&& ; &f}< B ImplementaoRAID (Redudant Arrays of Disks) O segundo termo relaciona a probabilidade de qualquer outro disco falhar antes do primeiro disco estar arranjado. Se o MTTF dum disco for 100 dias, e o tempo de reparao for de 1 dia, e existirem 4 discos de dados e 1 disco de verificao, ento o MTTF do grupo de 500 dias. Claramente, esta implementao do sistema RAID, proporciona uma aproximao fraca memria estvel. !t &&&t&d&P/,["\#q$s%u&w'y({)}*+,./023456789:;<=>?@. ` Ot{h______` M <ff33̙3` +ffO=ff̙H7` fff3f̙` Tff33ff` 0Ky{kOz` )R{f` GiIfff̙fR` ̙|̙3f` 3ff~>?" dd@'?lFd@  nK'o`P( n?" dd@   @@``PT     o (`0p>> ''(  ZB  c $D"`   6 S "M }  ]%Clique para editar o estilo do ttulo&& D  0 "; `  nClique para editar os estilos de texto do modelo global Segundo nvel Terceiro nvel Quarto nvel Quinto nvel8  o   0  "` `  ^*    0 "`   V*    0 "` `  V*  T     "`h2   s *"`h2   s *"h2   s *"@h2   s *"0`h2   s *"0h2  s *"0@h2  s *"`0h2  s *"`h2  s *"h2  s *"@h2  s *"`n2  0" h2  s *"``h2  s *"`h2  s *"@`n2  0"``h2  s *"`h2  s *"n2  0"@n2  0"`h2  s *" h2  s *"`@n2  0"@n2   0"@@h2 ! s *"`@n2 " 0"``n2 # 0"`h2 $ s *"`@h2 % s *"``h2 & s *" h2 ' s *"` H  0޽h ? 3ff~___PPT10i. s+D=' (= @B + H1_Modelo de apresentao predefinido   7/@(((  ZB  c $D"   6cs "&wf s ]%Clique para editar o estilo do ttulo&&   0fs "wQ  s v>Faa clique para editar o estilo do subttulo do modelo global??   0`Zs "` ` s ^*    0)5 "`  s V*    0-5 "` ` s V*  T `]   "]p h2   s *"`]h2   s *"]h2   s *"]Eh2   s *"`h2   s *"h2  s *"Eh2  s *"yh2  s *"`B h2  s *"B h2  s *"EB h2  s *"yB n2  0",B h2  s *"`u  h2  s *"u  h2  s *"u E n2  0"yu  h2  s *"`(  h2  s *"(  n2  0"( E n2  0"y(  h2  s *",(  h2  s *"` Z n2  0" Z n2   0" EZ h2 ! s *"y Z n2 " 0"`  n2 # 0"  h2 $ s *" E h2 % s *"y  h2 & s *"A  h2 ' s *"yA  `B ( s *D"H  0޽h ? 3ff~___PPT10i. s+D=' (= @B +60 `F(    0; P    X*   0A     Z* d  c $ ?  2  0C  0  nClique para editar os estilos de texto do modelo global Segundo nvel Terceiro nvel Quarto nvel Quinto nvel8   o  6 _P   X*   6d _   Z* H  0޽h ? 3380___PPT10.-" 0<(  ~  s *T!&wf  ~  s *"tv  H  0޽h ? 33___PPT10i.eѢ+D=' (= @B + # p0(  x  c $HmM'}   x  c $p;`  H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + $ x0(  xx x c $PaM }   x x c $ a;` a H x 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + % 0(  x  c $|)M }  a x  c $+;`  H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + & 0(  x  c $nM }  a x  c $;`  H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + ' 0(  x  c $`aM }  a x  c $ha;` a H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + ( 0(  x  c $|UaM }  a x  c $ Va;` a H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + ) 00(  x  c $M }   x  c $dba;`  H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + * PF(  x  c $M }     c $;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' = @B + + pF(  x  c $M }     c $ J;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' = @B + , F(  x  c $$M }     c $s;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + . F(  x  c $XsM }  s   c $s;` s "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + / F(  x  c $\sM }  s   c $ts;` s "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' = @B + 0 F(  x  c $M }     c $;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 2  F(  x  c $ sM }  s   c $5;` s "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' = @B + 3  F(  x  c $M }     c $;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 4 @F(  x  c $8 M }     c $&;`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 5 ` F(   x   c $=M }      c $J`  "h_H   0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 6 F(  x  c $4\M }     c $ "s`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' = @B + 7 F(  x  c $(M }     c $`  "h_H  0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 8 $F(  $x $ c $dM }    $ c $\s`  "h_H $ 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + 9 ,F(  ,x , c $ M }    , c $@ s`  "h_H , 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + : 4F(  4x 4 c $M }    4 c $`  "h_H 4 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + ;  <F(  <x < c $`M }    < c $h`  "h_H < 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + < @DF(  Dx D c $B5M }  5  D c $<45` 5 "h_H D 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + = `LF(  Lx L c $?M }    L c $5`  "h_H L 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + > TF(  Tx T c $\aM }    T c $f`  "h_H T 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + ? \F(  \x \ c $M }    \ c $85`  "h_H \ 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B + @ dF(  dx d c $M }    d c $0`  "h_H d 0޽h ? 3ff~___PPT10i.jpG҇+D=' (= @B +$0 P$ (  $X $ C     $ S 0 0   " H $ 0޽h ? 3380___PPT10.'lU%0 ( (  (X ( C     ( S W 0   " H ( 0޽h ? 3380___PPT10.'ln_&0 IA|(  |^ | S    a; | c $h 0  a  Assume-se que um sistema possui memria estvel quando os seus contedos so preservados depois da ocorrncia de falhas, isto , os contedos de um sistema com memria estvel no so destrudos nem corrompidos por uma falha. Nestes sistemas, o contedo do disco frequentemente copiado para sistemas de armazenamento secundrios (para outro disco, por exemplo) mas apesar dos dados gravados nos discos sobreviverem, normalmente, a falhas do sistema e a picos e falhas de energia, os discos no so uma forma muito segura de memria estvel. Para sistemas de tolerncia a falhas, onde a elevada confiana o objectivo principal, a confiana que a memria estvel feita por um disco normal proporciona no aceitvel. A existncia de memria estvel essencial em muitos sistemas para suportar a tolerncia a falhas. Qualquer sistema que dependa de dados previamente guardados poder no ser de confiana sem o uso de memria estvel. Depois da ocorrncia de uma falha, a informao pode ser recuperada, mas se j tiverem sido feitas alteraes informao desde que se efectuou a ltima cpia de segurana, a informao que recuperada vai estar desactualizada. H | 0޽h ? 3380___PPT10.'ln_'0 )(  ^  S    a  c $i 0  a  O principal problema ter sistemas de armazenamento fsico que tm vrias falhas e convert-los num sistema de armazenamento de memria estvel, atravs do acrscimo de hardware e software. No h nenhum sistema que consiga tratar todas as falhas possveis e ser completamente tolerante a falhas, sendo o objectivo dos sistemas tolerantes a falhas tornar o sistema bastante seguro para algumas falhas especficas, de maneira a cobrirem a maioria das falhas mais comuns, e assim aumentar a sua confiana. Para uma melhor percepo do problema deve-se estudar primeiro o sistema fsico no qual a memria estvel ser construda, assim como as falhas existentes neste sistema fsico. A memria estvel normalmente construda com sistemas de discos.H  0޽h ? 3380___PPT10.'ln_M(0 ](  ^  S    a  c $k 0  a S O sistema de armazenamento dum disco constitudo por um conjunto de pginas (ou blocos, ou sectores) em que cada pgina possui blocos de informao e um estado (correcto /good ou incorrecto/bad) associado a cada bloco. O estado de cada bloco indica se a informao contida nesse bloco correcta ou se est corrompida. Se o estado dum bloco for incorrecto, a tentativa de leitura desse bloco pelo sistema pode no ser conseguida com xito. 6 T> H  0޽h ? 3380___PPT10.'ln_Y)0 i(  ^  S    a  c $& 0  a _] Existem duas operaes atravs das quais o processador (ou um processo) pode interagir com o disco: procedure write(addr, data) procedure read(addr) returns(status,data). A operao de escrita possui dois parmetros: a localizao do sector (addr), e a informao que deve ser escrita nesse sector. Esta operao no devolve qualquer estado. A operao de leitura possui, como parmetro, a localizao do sector que vai ser lido e devolve a informao desse sector assim como o estado da operao. O estado pode ser correcto ou incorrecto, indicando se a leitura foi efectuado com ou sem sucesso. Z^f   =f          IbH  0޽h ? 3380___PPT10.'ln_*0 c[ (  ^  S    aU  c $ 0  a s Vrios tipos de falhas podem ocorrer num sistema de discos. Muitos dos erros que ocorrem com o sistema de armazenamento so frequentemente protegidos por diversas tcnicas, como a programao. Mesmo assim, existem outros tipos de falhas que essas tcnicas no conseguem precaver. Algumas das mais comuns so: Falhas transitrias: Estas falhas provocam que o disco se comporte de um modo imprevisvel durante um curto perodo de tempo. Sector danificado: Uma pgina torna-se corrupta e a informao armazenada nesta no pode ser lida. Isto pode ocorrer devido a razes fsicas (como a existncia de p). Falha de um controlador: O controlador do disco falha. Isto pode ocorrer devido a problemas do hardware com o seu prprio controlador, ou devido a um erro existente num processo/processador ao qual o controlador est ligado. O contedo do disco no afectado mas fica inacessvel at que o controlador (ou o processo/processador) seja reparado. Falha do disco: O disco completo avaria. Este tipo de falha pode ocorrer devido a falhas de hardware, tal como a avaria da cabea do disco. O contedo do disco torna-se irrecupervel. Zt6jBH  0޽h ? 3380___PPT10.'ln_+0 ~v@(  ^  S    p  c $8 0    Ainda existem outras causas possveis que provocam falhas no disco. Em vez de enumerar todas as razes possveis para a ocorrncia de falhas no disco e encontrar maneiras de as tolerar, mais til estudar as consequncias que essas falhas provocam no comportamento do disco e encontrar mtodos para as suportar. Os acontecimentos que ocorrem no disco podem ser resultado de operaes de escrita ou de leitura ou ainda de outros eventos. Alguns destes eventos so desejveis (tais como uma operao de leitura devolver os dados correctos e o estado) e alguns so indesejveis. Os acontecimentos indesejveis so causados por alguma falha ocorrida no disco. Para se ter memria estvel, devem-se conseguir disfarar estes acontecimentos indesejveis. H  0޽h ? 3380___PPT10.'ln_{,0 `(  ^  S      c $( a 0    Os resultados indesejveis que podem acontecer numa operao de leitura so: Soft read error: O estado da pgina a correcto, mas a operao de leitura devolve incorrecto. Esta situao no dura muito e causada por falhas transitrias. Erro de leitura persistente: O estado da pgina a correcto mas a operao de leitura devolve incorrecto, e as leituras seguintes tambm devolvem incorrecto. Isto pode ser causado devido existncia de um sector danificado (ou falha do disco ou dum controlador). Erro indetectvel: O estado da pgina a incorrecto mas a operao de leitura devolve correcto, ou ento o estado da pgina a correcto, e a operao de leitura devolve informao errada.PO$$$$$$ $ $C $  $  $  $  $  $  $   $ * $   $ n$$$ $$$ $$$$ $$5$>O\H  0޽h ? 3380___PPT10.'ln_-0 (  ^  S      c $ 4    Se a escrita ocorre com sucesso, ento a informao da pgina a vai ser mudada para d. Por outro lado, a escrita pode no ocorrer com sucesso. Os efeitos indesejveis para uma operao de escrita (a,d) so: Escrita nula: A pgina a no alterada. M escrita: Se se tentar ler a pagina devolvido (incorrecto,d). Do mesmo modo como estes eventos ocorrem em operaes de leitura e de escrita, existem  decays que provocam outras falhas no disco. x@g E >e ]/H  0޽h ? 3380___PPT10.'ln_2.0 B(  ^  S    a  c $a 4  a 8 H  0޽h ? 3380___PPT10.'ln_00 0((  ^  S    a"  c $4a 4  a  Para implementar uma aproximao de memria estvel com um nico disco, assume-se que possvel dividir o disco em pares de pginas que no so decay related. Assim, em cada par, mesmo que uma pgina devolva o estado incorrecto devido a alguma falha, ento a outra pgina devolver o estado correcto. Assume-se que os decays events acontecem raramente. Consideram-se os seguintes decay events: Corrupo: Uma pgina varia de (correcto,d) para (incorrecto,d). Recuperao: Uma pgina passa de (incorrecto,d) para (correcto,d) Erro no detectado: a pgina muda de (s,d) para (s,d) com d diferente de d. Estes acontecimentos podem ser causados por falhas transitrias do disco, falha do disco ou falha dos controladores( se for uma falha do disco todas as pginas devolvero o estado incorrecto). A adicionar a estes erros, existem os crashes do processador que tambm afectam o funcionamento do disco. Os crashes dos processadores podem ser considerados responsveis por causarem a falha dum controlador. O crash dum controlador no corrompe o disco e os dados voltam a ser correctos depois do controlador (ou o processador/processo) ser recuperado/reparado  < ?  1 "  %  ' qA7"  %  (jv@_H  0޽h ? 3380___PPT10.'ln_&10 6(  ^  S    s  c $s 4  s , H  0޽h ? 3380___PPT10.'ln_!20 1(  ^  S    s  c $ 4  s ' Um sistema de memria estvel ideal aquele onde a operao de leitura devolve sempre informao boa e a operao de escrita sempre bem sucedida. No entanto, a memria estvel tem de ser implementada com o hardware e com os sistemas de armazenamento existentes, os quais, por si s, no proporcionam memria estvel. De seguida vo ser apresentados alguns mtodos que proporcionam uma aproximao memria estvel usando discos de armazenamento. Estes mtodos, tal como todas as tcnicas de suporte a falhas, apenas conseguem fornecer aproximaes do que seria ideal pois um conjunto finito de recursos no pode fornecer uma total tolerncia a falhas, nem recuperar completamente as informaes depois da ocorrncia de falhas, se todos os componentes falharem simultaneamente. Alm disso, nem todas as tcnicas conseguem suportar todos os tipos de falhas. Estes mtodos apenas suportam alguns tipos de falhas (os que, na prtica, ocorrem com mais frequncia). ,E$H  0޽h ? 3380___PPT10.'ln_ 40 D < (  ^  S    6  c $D 4    Usando um nico disco Aqui vai-se descrever uma aproximao de memria estvel que funciona com um nico disco. Primeiro, para um sistema de armazenamento de um nico disco vai ser construdo um  Careful disk storage com duas operaes: CarefulRead e CarefulWrite. Na CarefulRead, a leitura repetida at o valor devolvido para o estado ser correcto ou, depois de um certo nmero de tentativas, se concluir que a pgina no poder ser lida. Similarmente, na CarefulWrite a operao de escrita seguida da operao de leitura at ser devolvido o estado correcto. Assim elimina-se a escrita nula e os erros de m escrita mas no se anulam os decay events nem os erros durante a operao de CarefulWrite. \  $ $?$ $k$ $S$ $$   $   $ $ $   $     $ H  0޽h ? 3380___PPT10.'ln_50 910(  ^  S    +  c $qs 4   E Tem de ser feito algo mais para se ter memria estvel. A memria estvel representada por um par ordenado de pginas do disco, no podendo estas pginas ser decay related. A informao da pgina duplicada para ambas as pginas deste par e como as pginas no so decay related, pelo menos uma tem o estado correcto. HF _  H  0޽h ? 3380___PPT10.'ln_&60 P6(  ^  S      c $2 4   , H  0޽h ? 3380___PPT10.'ln_&70 p6(  ^  S      c $P 4   , H  0޽h ? 3380___PPT10.'ln_&80 6(  ^  S      c $4{ 4   , H  0޽h ? 3380___PPT10.'ln_&90  6(   ^   S       c $ 4   , H   0޽h ? 3380___PPT10.'ln_:0 H@((  (^ ( S    : ( c $ 4   Disk Shadowing Disk shadowing outra maneira para implementar memria estvel, e com este mtodo conseguem-se ultrapassar problemas como a falha do disco. Com a ajuda de hardware extra, tambm possvel aceder a informao no disco depois dum processo/processador ou dum controlador falharem. Disk shadowing , essencialmente, uma implementao do esquema descrito anteriormente, no qual duas paginas representativas da memria estvel residem em dois discos diferentes (e, consequentemente, satisfazem o facto de no estarem decay related). Mesmo assim, disk shadowing normalmente requer algum suporte ao hardware para ser implementado. Disk shadowing uma tcnica para manuteno de um conjunto de imagens do disco idnticas em discos separados e o principal objectivo aumentar a confiana e a disponibilidade do armazenamento secundrio. Aqui, apenas vai ser considerado o caso de dois discos. Neste caso, os discos so chamados de discos espelho.      G 1H ( 0޽h ? 3380___PPT10.'ln_;0 F>0(  0^ 0 S    8 0 c $ 4   : Um ou mais processos/processadores podem ser ligados aos discos espelho. Quando um processo/processador escreve informao, a informao escrita nos dois discos espelho. Os pedidos de leitura so executados a partir de qualquer um dos discos. Com esta configurao, a maioria dos erros conseguem ser suportados. Disk mirroring tambm consegue suportar falhas do disco completo e permite aceder informao do disco enquanto o processo/ processador que falhou est a ser reparado. A falha de um processo/ processador, dum disco, ou dum controlador (e algumas combinaes) podem ser suportadas. Assim, a utilizao de discos espelho proporciona uma boa aproximao memria estvel. Mas deve ficar claro que este no um exemplo perfeito de memria estvel uma vez que no suportado o facto dos dois discos falharem.,;$C,? H 0 0޽h ? 3380___PPT10.'ln_&<0 86(  8^ 8 S     8 c $ 4   , H 8 0޽h ? 3380___PPT10.'ln_&=0 0@6(  @^ @ S     @ c $T's 4   , H @ 0޽h ? 3380___PPT10.'ln_>0 PHPH(  H^ H S    B H c $8 4    Outro mtodo de aproximao memria estvel atravs do uso do sistema RAID (Redundant Arrays of Inexpensive Disks). Os sistemas RAID so um mtodo com boa relao qualidade/preo para simular discos de grande capacidade. Nestes sistemas, a informao dividida pelos mltiplos discos usando bit-interleaving. Em bit-interleaving os diferentes bits de informao so armazenados em discos diferentes, proporcionando uma boa performance de I/O, desde que o acesso aos diferentes discos possa ser feito em paralelo. Mesmo assim, um conjunto de discos usado desta maneira s de confiana se a falha de um dos discos no provocar que toda a informao se torne inacessvel. pz$$$ $ R  XH H 0޽h ? 3380___PPT10.'ln_ ?0  pP(  P^ P S     P c $] 4    A soluo passa por ter alguns discos com informao redundante, para que, no caso de ocorrerem falhas em alguns discos, a informao continue acessvel. Existem vrios nveis de implementao para sistemas RAID, em que cada um das dessas implementaes proporciona diferentes nveis de custos, confiana e desempenho. O mtodo de Disk mirroring pode ser visto como o mtodo mais simples e mais caro do sistema RAID, uma vez que usa um array com apenas dois discos, um dos quais redundante. Este o mtodo mais caro, pois tem 100% de redundncia (um disco extra para cada disco). Nos sistemas RAID existe um grande nmero de discos divididos em grupos. Um grupo de discos a unidade que proporciona a redundncia da informao para o armazenamento de informao. Cada grupo possui alguns discos de dados e alguns discos de verificao. Os discos de verificao so os discos redundantes. Os discos de dados e os discos de verificao juntos, armazenam a informao usando uma tcnica de programao que, no caso de vrios discos do grupo falharem, ser possvel recuperar a informao dos discos que no foram afectados. O nmero de discos de verificao depende da tcnica de programao usada. De seguida vai-se descrever uma implementao particular de RAID que, para cada grupo de discos, utiliza apenas um disco de verificao. Os discos redundantes armazenam a paridade do conjunto de bits dos discos de dados de cada grupo. A informao bit-interleaved atravs dos discos de dados do grupo, e para cada conjunto de bits nos discos de dados, guardado um bit de paridade no disco redundante. Assim, os j-simos bits de todos os discos juntos formam o cdigo para a j-sima palavra.4    tQ [7 H P 0޽h ? 3380___PPT10.'ln_C@0 XS(  X^ X S     X c $ 4   I A falha de qualquer disco pode ser completamente escondida desde que o disco que falha consiga descobrir que, de facto, falhou (isto , apenas funciona bem no caso do disco deixar de funcionar. No caso em que o disco falha por devolver um valor incorrecto, a falha pode ser detectada mas no pode ser resolvida). Esta suposio funciona para a maioria dos discos modernos que possuem hardware extra e usam tcnicas de programao para detectar falhas no disco. Com isto, a informao do disco que falhou pode ser reconstruda atravs do clculo da paridade dos restantes discos de dados e comparando-a com a paridade que est armazenada no disco de verificao. Se as duas paridades forem iguais, o bit no disco que falhou era 0, seno era 1. claro que este mtodo de implementao RAID consegue suportar a falha dum nico disco. Outra vantagem desta implementao que os soft read errors, que requerem leituras repetidas para serem concludas com xito, podem agora ser resolvidos em tempo real, desde que qualquer bit possa ser recriado a partir dos bits restantes. Nesta implementao, a falha do sistema RAID acontece apenas se mais de um disco falhar ( mais concretamente, se um disco falhar antes do primeiro estar arranjado). >o[H X 0޽h ? 3380___PPT10.'ln_A0 `&(  `^ ` S     ` S  0   " H ` 0޽h ? 3380___PPT10.'ln_B0 h&(  h^ h S     h S x 0   " H h 0޽h ? 3380___PPT10.'ln_r0vΏ H 4ѭ[ {p b| S7>ȿDo$Q+`-dC6 q8Y>fH'LNUNPRTC[}ac8ek=u-|~, ĀOh+'0P hp  Bla blanunolaNetwork Paula Prata107Microsoft Office PowerPoint@=c:@pņ@`ThIG6g  -& &&#TNPP2OMi & TNPP &&TNPP    --- !---&oJ--%pH--&&/&~w@ ww0- &Gy& &: 3f--P):--3f--PG:1--3f--Pe:N--3f--n)X--3f--nGX1--3f--neXN--f--nXl--3f--)v--3f--Gv1--f--evN--f--vl----v--3f--)--f--G1--f--eN----l--f--)--f--G1----eN----l------f--)----G1----eN----l----)----G1----eN----l----!G 1----! l--&&'*--% ((--&--1!-- @"Arialw@' ww0- 3f.(2 >Universidade da Beira .'#$$'$'$'$.$$. 3f.2 Interior'$'.--j@Y-- 3f@"Arialw@ ww0- .2 ~Fiabilidade de $!$$!$!$!. .'2 gSistemas Informticos'!!4!!$#4!!#!.@"Arialw@' ww0- .-2 ScNuno Magarreiro n. 14805     .--"System 0-&TNPP &՜.+,04    On-screen Show.-sC !ArialTimes New Roman Wingdings%1_Modelo de apresentao predefinidoUniversidade da Beira InteriorMemria Estvel IntroduoDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaDefinio do problemaImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementaoImplementao  Fonts UsedDesign Template Slide Titles#_ Paula PrataPaula Prata  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)Current UserSummaryInformation(PowerPoint Document(DocumentSummaryInformation8