# Triple redundància modular

En informàtica, la triple redundància modular, de vegades anomenada redundància de triple modul, (TMR) és una forma de redundància N-modular tolerant a fallades, en la qual tres sistemes realitzen un procés i aquest resultat és processat per un sistema de vot majoritari. per produir una sola sortida. Si algun dels tres sistemes falla, els altres dos sistemes poden corregir i emmascarar la fallada, (com poden fer els sistemes de canvi en calent).
El concepte de TMR es pot aplicar a moltes formes de redundància, com ara la redundància de programari en forma de programació en versió N, i es troba comunament en sistemes informàtics tolerants a fallades .
Algunes memòries ECC utilitzen maquinari triple de redundància modular (en lloc del codi Hamming més comú), ja que el maquinari de redundància triple modular és més ràpid que el programari de correcció d'errors de Hamming. Els sistemes de satèl·lits espacials solen utilitzar TMR, encara que en la RAM emprada en satèl·lits es sol utilitzar la correcció d'errors de Hamming.
Alguns sistemes de comunicació utilitzen la redundància N-modular com a forma senzilla de correcció d'errors avançats. Per exemple, els sistemes de comunicació de redundància 5-modular (com ara FlexRay) utilitzen la majoria de 5 mostres – si qualsevol dels 5 resultats falla, amb tan sols 3 resultats bons (que coincideixin) es pot corregir i emmascarar la fallada.
La redundància modular és un concepte bàsic, que data de l'antiguitat, mentre que el primer ús del TMR en un ordinador va ser a l'ordinador txecoslovac SAPO, a la dècada de 1950.

## Cronòmetres

Per utilitzar la redundància modular triple, un vaixell ha de tenir almenys tres cronòmetres; dos cronòmetres proporcionaven una redundància modular dual, que permetia la seguretat de tenir-ne un de suport si un dels dos deixava de funcionar, però sense permetre cap correcció d'errors si els dos marcaven una hora diferent, ja que en aquest cas de contradicció entre els dos cronòmetres, era impossible saber quin marcava l'hora correcte (la detecció d'error obtinguda era la mateixa que si es tenia només un cronòmetre i es comprovava periòdicament). En canvi tres cronòmetres proporcionaven una redundància modular triple, permetent la correcció de l'error, ja que, si els tres marcaven diferent, el pilot agafava la mitjana dels dos amb una lectura més propera (vot de precisió mitjana).
Hi ha un vell adagi en aquest sentit, afirmant: "Mai no vagis al mar amb dos cronòmetres; agafe'n un o tres".
Principalment això es deia perqué "si dos cronòmetres es contradiuen, com saber quin és el més correcte?" A començament del segle xix, aquesta solució o regla era cara, ja que el cost de tres cronòmetres suficientment precisos era més elevat que el cost total de la majoria de vaixells mercants dels tipus més petits. Alguns vaixells portaven més de tres cronòmetres – per exemple, el HMS Beagle portava 22 cronòmetres-. Tanmateix, un nombre tan gran només es duia en vaixells que feien treballs estadístics, com era el cas del Beagle .
En l'època moderna, els vaixells per situar-se al mar utilitzen receptors de navegació GNSS (amb el suport GPS, GLONASS i WAAS, etc.), que funcionen principalment amb el suport de WAAS o ENGOS per tal de proporcionar un temps precís (així com la ubicació) .

## Porta lògica majoritària

Al TMR, es fan servir tres circuits lògics idèntics (portes lògiques) per a calcular el mateix conjunt de funció booleana especificada. Si no hi ha fallades de circuit, les sortides dels tres circuits són idèntiques. Però quan hi ha fallades en algun circuit, les sortides dels tres circuits poden ser diferents.
Una porta lògica majoritària s'utilitza per decidir quines sortides dels circuits són la sortida correcta. La sortida de la porta majoritària és 1 si dos o més de les entrades de la porta majoritària són 1; la sortida és 0 si dues o més entrades de la porta majoritària són 0.
La porta lògica majoritària és un circuit AND – OR simple: si les entrades a la porta majoritària són x, y i z, llavors la sortida de la porta majoritària és:
    $xy\lor yz\lor xz$
Així, la porta majoritària és la sortida d'un sumador complet, constituint, la porta majoritària una màquina de votar.
Taula de veritat d'un circuit de votació
| a | b | c | Sortida |
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 |
| 1 | 0 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 1 |
| 1 | 1 | 1 | 1 |

## Funcionament del TMR

Assumint que la funció booleana calculada per les tres portes lògiques idèntiques té el valor 1, llavors: (a) si cap circuit no ha fallat, els tres circuits produeixen una sortida del valor 1 i la sortida de la porta majoritària té el valor 1. (b) si un el circuit falla i produeix una sortida de 0, mentre que els altres dos funcionen correctament i produeixen una sortida d'1, la sortida de la porta majoritària és 1, és a dir, encara té el valor correcte. I de la mateixa manera per al cas quan la funció booleana calculada pels tres circuits idèntics té el valor 0. Així, es garanteix que la sortida de la porta majoritària serà correcta mentre no hagi fallat més d'un dels tres circuits lògics idèntics.
Els sistemes de TMR haurien d'utilitzar el rentat de dades periòdicament, per evitar l'acumulació d'errors.

## Error en el vot

La porta majoritària mateixa també podria fallar. Això es pot protegir aplicant triple redundància als propis votants.
En alguns sistemes de TMR, com ara l'ordinador digital de llançament de vehicles Saturn i sistemes de redundància modular triple funcional (FTMR), els votants també es tripliquen. S'utilitzen tres votants – un per a cadascuna de les còpies de la següent etapa de la lògica del TMR. En aquests sistemes no hi ha cap punt únic de fallada. A diferència de les funcions booleanes relativament complicades calculades per triplicat pel sistema TMR, la porta majoritària és un circuit senzill, de manera que la seva probabilitat de fallada és significativament menor que la de cadascun dels tres circuits que calculen la funció booleana. En altres sistemes, només hi ha un sol votant: si el votant falla en aquest sistema, el sistema complet fallarà. No obstant això, en un bon sistema TMR, el votant és molt més fiable que els altres components del TMR.

## Redundància modular triple en la cultura popular

* Les tres claus previstes a "Minority Report" condueixen a una convicció fins i tot quan un no hi està d'acord.
* Per descartar que una sola victòria sigui "una casualitat", algunes competicions utilitzen per a determinar el guanyador, auell que guanya en dues de tres proves. Encara que això no és un veritable TMR, perquè les derrotes no són independents les unes de les altres – cada competidor sap qui més és derrotat en cada moment de la competició –, la qual cosa influeix en les seves accions futures.
* A la novel·la de ciència-ficció d'Arthur C. Clarke, Rendezvous with Rama, els Ramans fan un gran ús de la triple redundància.

## Referències

* ↑ David Ratter. "FPGAs on Mars"
* ↑ «Using StrongArm SA-1110 in the On-Board Computer of Nanosatellite». Tsinghua Space Center, Tsinghua University, Beijing. Arxivat de l'original el 2011-10-02. [Consulta: 16 febrer 2009].
* ↑ «Actel engineers use triple-module redundancy in new rad-hard FPGA». Military & Aerospace Electronics. Arxivat de l'original el 2017-04-10. [Consulta: 9 abril 2017].
* ↑ ECSS-Q-HB-60-02A : Techniques for radiation effects mitigation in ASICs and FPGAs handbook
* ↑ «Commercial Microelectronics Technologies for Applications in the Satellite Radiation Environment». Arxivat de l'original el 2019-04-22. [Consulta: 15 maig 2019].
* ↑ Brooks, Frederick J. The Mythical Man-Month. Addison-Wesley, 1995, p. 64. ISBN 978-0-201-83595-3.
* ↑ «Re: Longitude as a Romance». Irbs.com, Navigation mailing list, 12-07-2001. Arxivat de l'original el 2011-05-20. [Consulta: 16 febrer 2009].
* ↑ R. Fitzroy. «Volume II: Proceedings of the Second Expedition».
* 1 2 3 Professor Dilip V. Sarwate, Lecture Notes for ECE 413 - Probability with Engineering Applications, Department of Electrical and Computer Engineering (ECE), UIUC College of Engineering, University of Illinois at Urbana-Champaign
* ↑ Wojciech M. Zabolotny et al. "Radiation tolerant design of RLBCS system for RPC detector in LHC experiment".Proceedings of SPIE, 2005.
* ↑ A.W. Krings."Redundancy".2007
* ↑ Sandi Habinc."Functional Triple Modular Redundancy (FTMR): VHDL Design Methodology for Redundancy in Combinatorial and Sequential Logic",2002.
* ↑ R. E. Lyons and W. Vanderkulk."The Use of Triple-Modular Redundancy to Improve Computer Reliability".IBM Journal.1962.

## Vegeu també

* Sistema tolerant a fallades
* Llei de Segal
* Doble redundància modular

## Enllaços externs

* Article sobre TMR amb referència a l'ús de TMR a l'aviónica i la indústria
* Johnson, JM i Wirthlin, MJ (2010, febrer). Algorismes d'inserció de votants per a dissenys FPGA amb redundància triple modular. A les Actes del 18è simposi internacional ACM / SIGDA sobre matrius de portes programables per camp (pàg. 249-258). ACM.