420 likes | 614 Views
Affidabilità. Introduzione. I circuiti e sistemi elettronici sono inevitabilemnte affetti dalla presenza di guasti non solo in produzione ma anche durante la loro vita utile
E N D
Introduzione • I circuiti e sistemi elettronici sono inevitabilemnte affetti dalla presenza di guasti non solo in produzione ma anche durante la loro vita utile • L’affidabilità (reliability) di un circuito e sistema elettronico rappresenta la sua capacità di operare correttamente durante un periodo di tempo. • Lo scopo della progettazione finalizzata alla tolleranza ai guasti (fault tolerant design) è quello di applicare metodologie che migliorino l’affidabilità a livello di sistema
Tipi di guasto • Durante il funzionamento i guasti possono essere di due tipi: • Guasti permanenti: dovuti ad esmpio alla manifestazione di difetti presenti in fase di produzione o anche dovute a invecchiamento (esempio elettromigrazione) o radiazioni che corrompono il reticolo cristallino o altri fenomeni ad effetto permanente • Guasti transitori: ad esempio SEU (single event upset nelle memorie) dovuti alla iniezione di cariche nel substrato che possono causare l’inversione del valore memorizzato su elementi di memorie. Effetti temporanei possono anche causare metastabilità. • I guasti transitori possono essere riparati se rilevati
Failure Rate – frequenza di guasto • (t) = Failure rate a livello di componente • Si misura in FITS (Failures In Time – guasti per 109 ore)
Failure Rate a livello di sistema • Un sistema è costruito con componenti • Se non c’è tolleranza ai guasti (Fault Tolerance): • Se un qualunque componente si guasta allora tutto il sistema è guasto
Affidabilità - Reliability • Se un componente funziona a tempo 0 • R(t) = è la probabilità che funzioni ancora a tempo t • Legge di guasto esponenziale • Se si assume che il failure rate è costante • E’ una buona approssimazione dopo la fase di mortalità infantile
Affidabilità per un sistema serie • Sistema serie • Tutti i componenti devono funzionare affinchè il sistema funzioni
Affidabilità per un sistema parallelo • Sistema parallelo • Tutti i componenti devono essere guasti affinchè il sistema non funzioni A B C D
Affidabilità di un sistema con ridondanza • Affidabilità di un sistema con il componente B in parallelo • Può tollerare un guasto su B
Mean-Time-to-Failure (MTTF) • Tempo medio prima che il sistema si guasti • Uguale all’area sotto la curva di affidabilità • Nel caso di legge di guasto esponenziale
Schemi per la tolleranza ai guasti • Aggiungere tolleranza ai guasti a un progetto • Migliora l’affidabilità del sistema • Richiede ridondanza • Hardware • Tempo • Informazione
Ridondanza Hardware • Implica la replica delle unità hardware • Ad ogni livello del progetto • A livello di porta logica, modulo, chip, piastra • Tre tipologie • Statica (anche detta passiva) • Il guasto viene mascherato piuttosto che rilevato • Dinamica (anche detta attiva) • Il guasto viene rilevato e si riconfigura verso un hardware di riserva • Ibrida • Combina gli approcci attivo e passivo
Ridondanza statica • I guasti vengono mascherati in modo tale che non ci siano output errati • Fornisce un funzionamento ininterrotto • Importante nel caso di sistemi real-time • Non c’è tempo per riconfigurare o riprovare l’operazione • Semplice e autosufficiente • Non c’è bisogno di tenere traccia dello stato del sistema per rollback
Triple Module Redundancy (TMR) • Ben noto schema di ridondanza statica • Tre copie di un modulo • Si usa un majority voter per determinare l’uscita finale • Un errore in un modulo viene escluso per minoranza dagli altri due
Affidabilità e MTTF del TMR • Il TMR funziona se almeno 2 moduli qualunque funzionano • Rm = affidabilità di ogni modulo • Rv = affidabilità del voter • MTTF per il TMR
Comparazione con il Simplex • Ignorando il fault rate del voter poichè è progettato per essere molto minore dei moduli si può riscrivere il MTTF • Pertanto il TMR ha un MTTF più basso del simplex ma • Può tollerare guasti temporanei • Ha un’affidabilità più alta per missioni brevi
Comparazione con il Simplex • Punto di intersezione • RTMR > Rsimplex quando • La durata della missione è minore del 70% del MTTF del simplex
N-Modular Redundancy (NMR) • NMR • N moduli più il majority voter • Il TMR è un caso speciale del NMR • E’ in grado di mascherare fino a (N-1)/2 moduli guasti • Al crescere di N, il MTTF diminuisce • Ma l’affidabilità per le missioni brevi aumenta • Se l’obiettivo è solo quello di tollerare i guasti temporanei è sufficiente usare il TMR
Ridondanza Dinamica • Implica • Rilevazione del guasto • Localizzazione dell’unità guasta • Riconfigurazione del sistema per usare l’unità di riserva non guasta
Riserve non alimentate (fredde) • Unariservafreddaraddoppiail MTTF • Assumendocheiguastivenganosemprerilevati e cheilcircuitodiriconfigurazione non siguastimai • Svantaggiodellariservafredda • Tempo richiesto per accendere e inizializzare • Non puòessereusato per rilevareiguasti • La rilevazionedeiguastirichiedeunodeiseguentiapprocci • test offline fattoperiodicamente • online testing usandoridondanzadi tempo o diinformazione
Riserve alimentate (Calde) • Si possonousare le riserve per condurre la rilevazionedeiguasti online • Un approccio è quellodiduplicare e comparare • Se c’èunadiscordanzasugli output allorasi è avuto un guasto • Si fapartireunaproceduradiagnostica per capirequale modulo siaguasto e lo sirimpiazza con unariserva • Si puòusare un numeroqualunquediriserve
Ridondanza ibrida • Combina sia la ridondanza statica e quella dinamica • Maschera i guasti come la ridondanza statica • Rileva e riconfigura come la ridondanza dinamica
TMR con riserve • Se un modulo del TMR si guasta • Rimpiazzato da una riserva • Può essere sia una riserva calda o fredda • Fintanto che il sistema ha tre moduli funzionanti • Il TMR fornirà fault masking per mantenere un’operatività ininterrotta
Ridondanza Self-Purging • Usa un voter a soglia invece di un voter a maggioranza • Threshold voter mette in uscita 1 se il numero di ungressi uguali ad 1 è maggiore della soglia • Altrimenti mette in uscita 0 • Richiede riserve calde
Ridondanza temporale • Vantaggio • Meno hardware • Svantaggio • Potrebbe non rilevare guasti permanenti • Se si rileva un errore • Il sistema deve ritornare a uno stato precedente che si sa essere buono prima di ripartire con le operazioni
Esecuzione Ripetuta • L’operazione viene ripetuta due volte • E’ il metodo di ridondanza temporale più semplice • Rileva guasti temporanei che avvengono durante un’esecuzione (ma non in entrambe) • Causa una differenza tra i risultati • Può riutilizzare lo stesso hardware per entrambe le esecuzioni • Serve solo una copia dell’hardware funzionale
Esecuzione Ripetuta • Richiede un meccanismo per memorizzare e comparareirisultatidientrambe le esecuzioni • In un processore, sipuòmemorizzaresullamemoria o su un disco e usare un software per fare la comparazione • Costoprincipale • Tempo addizionale per l’esecuzioneridondante e la comparazione • Problema con iguastipermanenti
Ricomputazione in diversità • Si usa lo stesso hardware, ma si fa la computazione in modo diverso la seconda volta • Può rilevare i guasti permanenti che influenzano solo una computazione • Per operazioni logiche o aritmetiche • Si fa lo shift degli operandi quando si fa la seconda computazione [Patel 1982]
Ridondanza di Informazione • Basata su codici per la rilevazione e correzione d’errore • Vantaggi • Rileva sia guasti temporanei che permanenti • L’hardware in eccesso necessario è minore di quando si usano più copie di un solo modulo • Svantaggio • Progettazione più complessa
Rilevazione d’errore • Codici a rilevazione d’errore usati per rilevare gli errori • Se un errore viene rilevato • Si ritorna a uno stato precedente non guasto (rollback) • Si riprova l’operazione
Rollback • Richiedediaggiungerecapacitàdimemorizzazione per salvare lo statoprecedente • L’entità del rollback dipendedallalatenza del meccanismodirilevazione • Rilevazioned’erroresenzalatenza • Il rollback è implementatoimpedendo al sistemadiaggiornareilsuostato • Se glierrorivengonorilevatidopo n cicli • Bisognaavere un sistemadi rollback in gradodirestaurare lo stato del sistema a quellodialmeno n ciclidi clock precedenti
Checkpoint • L’esecuzionevienesuddivisa in sottoinsiemidioperazioni • Prima checiascunaoperazionevengaeseguita • Vienecreato un checkpoint dove vienememorizzato lo stato del sistema • Se vienerilevato un erroredurantel’operazione • Si ritorna (rollback) all’ultimo checkpoint e siriproval’operazione • Se sirileva un errore in molteplicireplichedell’operazione • L’operazionesiferma e ilsistemasegnalache è avvenuto un guastopermanente
Teoria dei Codici • Codici • Si usanopiù bit del necessario per rappresentareidati • E’ un modo per rilevareglierrori • Glierroriavvengonoquandoi bit diinformazionevengonoinvertiti per qualchemotivo • Codici a rilevazioned’errore • Ne esistonomolti tipi • Possonorilevare diverse classidierrori • Usanodiversilivellidiridondanza • Presentanodiversilivellididifficoltà per la codfica e la decodificadeidati
Rilevazione d’errore • Si codificano le uscite del circuito con un codice a rilevazione d’errore • Se l’uscita non è una parola di codice c’è un errore
Duplicazione e confronto • Un checker di uguaglianza rileva l’errore • Un guasto potrebbe non essere rilevato solo se un guasto di modo comune colpisse entrambe le copie • Vengono rilevati solo i guasti dopo lo stem • Più del 100% di overhead (includendo il checker)
Codice di parità a bit singolo N M M= f(N) Il circuitodipredizionedellaparitàcreaunastimadellaparità P(f(N)) Il circuitodipredizione ha un overhead hardware variabilechepuòessere in media il 33% rispetto al circuitocheimplementa la f(N) f(N) P(M) p P(f(N)) comparator p’
Codice di parità a bit singolo • Non si può rilevare un numero pari di errori sui bit • Si può evitare un numero pari di errori sui bit generando ogni output con un cono di logica indipendente • Si è nella assunzione di avere un singolo guasto per cui si evita che un guasto si propaghi su due output • Tipicamente implica un grosso overhead
Distanza di un codice • Distanza tra due parole di codice: • Numero di bit in cui le due parole differiscono • Distanza di un codice • Minima distanza due parole di codice nel codice • Se n=k (nessuna ridondanza), la distanza è = 1 • Parità a bit singolo distanza = 2 • Codice con distanza d • Rileva d-1 errori • Corregge fino a (d-1)/2 errori
Codici a correzione d’errore • Codice con distanza 3 • Chiamatoanchesingle error correcting (SEC) code (codice a correzionedierroresingolo) • Codice con distanza 4 • Chiamatoanchesingle error correcting and double error detecting (SEC-DED) code (codice a correzionedierroresingolo e rilevazionedierroredoppio) • Procedura per costruire un codice SEC • Descritto in [Hamming 1950] • OgnimatriceH con tutte le colonnedistinte e nessuna colonna con tutti 0 è SEC
Memory Scrubbing • Ogni locazione di memoria viene letta su base regolare • Riduce la probabilità che si accumulino più errori nel tempo • Si può implementare facendo in modo che il controllore della memoria faccia questa attività durante I periodi di idle