2 research outputs found
Nueva metodología para el endurecimiento óptimo de sistemas digitales con distribución de la funcionalidad, trabajando en entornos sometidos a la radiación ionizante
Debido al extenso uso de los sistemas digitales distribuidos en las diferentes áreas tecnológicas sometidas a entornos agresivos, como por ejemplo la automoción o el espacio, actualmente es de vital importancia la aplicación de técnicas de endurecimiento ante los efectos de radiación ionizante. Esta tesis se inició con el proyecto de investigación RENASER+ “TEC2010-22095-C03-03”, financiado por el Ministerio Español de Ciencia y Tecnología. El objetivo principal del subproyecto liderado por la Universidad Carlos III de Madrid, consistía en la evaluación de la sensibilidad de los sistemas digitales a los efectos de la radiación ionizante. Para ello, se planificaron una serie de tareas destinadas a establecer un protocolo y desarrollar un sistema de pruebas válido para realizar campañas de irradiación en los aceleradores instalados en el Centro Nacional de Aceleradores de la Universidad de Sevilla (CNA). Con el fin de alcanzar los objetivos de este proyecto, en los trabajos de la tesis doctoral, se estudiaron y aplicaron técnicas de tolerancia a fallos para sistemas distribuidos, y se comprobó la sensibilidad del sistema con el método basado en la inyección de los fallos por emulación. En concreto, utilizando la herramienta de Emulación Autónoma desarrollada en el grupo DMA de la Universidad Carlos III. A lo largo del desarrollo de la tesis doctoral, en concordancia con las tareas y objetivos del proyecto RENASER+, se han introducido mejoras en el sistema de inyección de fallos transitorios por emulación, para permitir la inyección de fallos múltiples en los elementos de memoria y para permitir el análisis detallado del efecto acumulado de los fallos detectados mediante técnicas de mitigación de fallos, y técnicas de rastreo del fallo y su propagación. Con el objetivo de generar un método integral de análisis, validación y calificación de los sistemas distribuidos robustos, además de inyectar fallos por emulación se indujeron fallos reales en dichos sistemas, mediante el uso del acelerador de partículas tipo ciclotrón del CNA de Sevilla. La evaluación de la sensibilidad del sistema distribuido prototipado requirió una cualificación mediante varias campañas de irradiación, en esta tesis se ha propuesto un método de planificación y realización de una campaña que permite la monitorización continúa del efecto de los fallos y la generación automática de informes finales del proceso completo. En la realización de la tesis doctoral se planteó un objetivo más ambicioso, que consistía en la generación de un método de comprobación continua, durante el tiempo de funcionamiento normal de los sistemas distribuidos, de la presencia de fallos que pudieran causar un mal funcionamiento, e incluso averías graves. Así, se amplió el método de calificación de la robustez de sistemas distribuidos a un método de test on-line de dichos sistemas. Durante el estudio de la robustez de los sistemas distribuidos, principalmente para aplicaciones terrestres, se identificó y estudió el problema de los fallos debidos a envejecimiento de los componentes electrónicos digitales. Por lo tanto, el método propuesto es también adecuado para la realización del test on-line durante el funcionamiento normal del sistema distribuido, para la detección de los fallos procedentes de la radiación ionizante (fallos transitorios) y los fallos debidos al envejecimiento de los dispositivos (fallos permanentes).
Los sistemas digitales distribuidos, aparte de los nodos que los componen, tienen un protocolo de comunicación que puede fallar igual que el mismo nodo. En esta tesis doctoral se han estudiado varios protocolos de comunicación utilizados en sistemas distribuidos de aplicaciones aeroespaciales y de automoción; así mismo, se han comparado los protocolos CAN y LIN, y se ha propuesto, diseñado y prototipado un sistema distribuido básico, para la comprobación de la metodología de calificación y test on-line y de las técnicas de endurecimiento propuestas.
Como aportación original de esta tesis doctoral, se propone una nueva metodología para comprobar y asegurar el endurecimiento efectivo de un sistema digital distribuido, que incluya cualquier bus de comunicación. Otra contribución original de esta tesis doctoral, consiste en una técnica que permite la comparación de los datos obtenidos tras la irradiación de una forma directa y transparente al sistema de test, basada en un bloque de detección de minoría para rastreo de la propagación de los fallos. Se han analizado distintas tecnologías de FPGA basadas en memoria Flash, con el propósito de una mejor caracterización de los dispositivos a iradiar. Para el sistema final se ha optado por la utilización de una FPGA Igloo de Microsemi®, debido a que es una tecnología más robusta y basada en la tecnología Flash. Se ha desarrollado un software de control para el sistema distribuido, el cual se ejecuta en un microprocesador contenido en uno de los nodos del sistema y el que envía los resultados obtenidos por medio de un bus SPI a un PC. El software automatiza el proceso de recolección de los datos, proporcionando el resultado de cuál de los nodos ha fallado, si se ha recuperado, si ha fallado el sistema de comunicación, etc. Estos resultados permiten validar experimentalmente el método propuesto para los sistemas distribuidos digitales. Además de cumplir con los objetivos del proyecto, se han resuelto dos de los problemas típicos de este tipo de sistemas. Estos corresponden al reset síncrono del sistema y a la monitorización del mantenimiento continuo del tiempo real del sistema. Los distintos bloques propuestos y utilizados en este método integral de calificación de sistemas distribuidos son adecuados para la realización de test on-line de sistemas distribuidos, con el objeto de detectar la presencia de fallos permanentes (debidos al envejecimiento de los dispositivos) y de fallos transitorios (debidos a la radiación ionizante).
Finalmente, los últimos aportes de la investigación de este trabajo de tesis, correspondientes al análisis detallado del material del encapsulado del dispositivo a irradiar, y su comportamiento ante el paso de protones, se han podido obtener gracias a la ayuda del Departamento de Ciencia e Ingeniería de los Materiales e Ingeniería Química de la Universidad Carlos III de Madrid y del Centro Nacional de Aceleradores de la Universidad de Sevilla.
La mayoría de los resultados parciales y globales de este trabajo de tesis doctoral han sido publicados en Conferencias Internacionales (International On-Line Testing Symposium, Latin American Test Workshop, Digital Circuit and Integrated Systems) y en una revista internacional (IEEE Transactions on Nuclear Science).Nowadays, due to the spread of distributed digital systems in the different technological areas, working in aggressive environments, such as automotive and aerospace applications, hardening techniques against ionizing radiation effects is crucial. This PhD work started with the research Project RENASER+ “TEC2010-22095-C03-03”, supported by the Spanish Ministry of Economy and Competitiveness. The main objective of the sub-project, managed by the Carlos III University of Madrid, was the assessment of the sensitiveness of digital systems against ionizing radiation effects. For this purpose, a number of tasks were planned, aimed to set a protocol and to develop a test system, able to run irradiation campaigns in the accelerators placed in the National Centre of Accelerators, University of Seville (CNA). Furthermore, in order to fulfill the project objectives, the works developed in the PhD were devoted to the study and application of Fault Tolerance Techniques for distributed digital systems, and to the prior analysis of the systems sensitivity with emulation-based fault injection campaigns. This last task used the Autonomous Emulation Tool developed in the DMA research group of Carlos III University of Madrid. Along the development of the work of this PdD, in agreement with the tasks and objectives of RENASER+ Project, new improvements have been proposed, developed and included in the emulation-based transient fault injection tool, in order to enable the injection of multiple faults in memory elements, to enable the detailed tracking of accumulated effect of faults injected and detected by mitigation techniques and to scan the fault propagation within the distributed system. With the main purpose of generating a comprehensive method for the analysis, assessment and qualification of robust digital distributed systems, apart from injecting faults via emulation, real faults have been injected thanks to the use of a particle accelerators, CNA-US cyclotron (proton beam). The assessment of the prototyped distributed digital systems, through proton beam irradiation campaigns, required three irradiation campaigns; in the PhD a planning method was proposed for this type of campaigns on distributed systems, which allows the continuous monitoring of fault effects and automatic final report generation. As a more ambitious objective, in the PhD the method was extended to an on-line test, for the continuous checking during normal operation of distributed digital systems, to detect faults which can cause a wrong behavior or, even, a serious failure. Therefore, the qualification method for the assessment of the robustness of distributed digital systems was extended to an on-line method for these systems. During the robustness study of distributed digital systems another problem was identified and analyzed: the permanent faults appearing in this type of systems due to digital devices aging. Indeed, the proposed method is suitable for on-line testing of the normal operation of the distributed digital systems, for the detection of faults due to ionizing radiation (transient faults) and the detection of faults due to the device aging (permanent faults).
Distributed digital systems, apart the nodes composing them, use to include a communication protocol that can suffer also from transient or permanent faults. In this PhD different communication protocols, used in distributed digital systems for aerospace and automotive applications; also, CAN and LIN protocols have been compared and a basic distributed system has been proposed, designed and prototyped, for validating the qualification methodology and the test on-line method, as well as proposed hardening techniques.
As original contribution of this PhD, a comprehensive methodology for assessing and assuring the effective hardening of distributed digital systems, including a communication protocol, is proposed. Another original contribution of this PhD is the technique that allows the analysis of the data obtained (transparently and directly whatever the test system used) from any irradiation campaign, based on a minority checker block for the fault tracking. Furthermore, in this PhD work, different Flash-based FPGA technologies have been analyzed, with the purpose of better characterizing the analyzed devices. For the final system implemented, FPGAs Igloo from Microsemi® have been selected, because is a more robust technology. Specific control software has been developed for the distributed system, which was run on a microprocessor included in one node of the system and that sends obtained results through a PCI bus to a Personal Computer. This software automates the data collecting process, telling which node is failing, its recovery state, as well as any communication fault occurring. These tools allow the experimental validation of proposed method for the distributed digital systems. Apart from fulfilling the Project objectives, two typical problems of this type of systems have been solved. They correspond to synchronous initialization of the system and continuous real-time maintenance. Different blocks proposed and used in this comprehensive method for the assessment of the sensitivity of distributed digital systems are also adequate for on-line testing of these systems, with the prupose of detecting permanent faults (due to device aging) and transient faults (due to ionizing radiation).
Finally, the latest research works of this PhD work correspond to the detailed analysis of the packaging of the devices to be irradiated, as well as its behavior when proton particles are going through it. These works have been done thanks to the help of Science and Material Engineering and Chemistry Engineering Department of Carlos III University of Madrid, and the National Centre of Accelerators of University of Seville.
The majority of partial and global results of this PhD have been published in International Conferences (International On-Line Testing Symposium, Latin American Test Workshop, Digital Circuit and Integrated Systems) and in the IEEE Transactions on Nuclear Science.Esta tesis se inició con el proyecto de investigación RENASER+ “TEC2010-22095-C03-03”, financiado por el Ministerio Español de Ciencia y Tecnología.Programa Oficial de Doctorado en Ingeniería Eléctrica, Electrónica y AutomáticaPresidente: Raoul Velazco.- Secretario: Emilio Olías Ruiz.- Vocal: Miguel Ángel Aguirre Echanov
Técnicas de inyección de fallos basadas en FPGAs para la evaluación de la tolerancia a fallos de tipo SEU en circuitos digitales
Este trabajo de tesis doctoral presenta nuevas técnicas de inyección de fallos
transitorios en elementos de memoria, que permiten la evaluación del comportamiento
de los complejos circuitos digitales actuales en presencia de fallos SEU (Single Event
Upset).
Se han propuesto técnicas de inyección que dan solución a la evaluación de la
tolerancia a fallos SEU para distintos componentes de los sistemas digitales actuales, en
los que se tiende a integrar distintos tipos de circuitos en un mismo chip, SoCs (System
on Chip). El entorno de inyección en las soluciones propuestas en esta tesis se basa en
emulación con dispositivos programables, FPGAs, realizándose las tareas relacionadas
con la inyección desde la plataforma hardware de emulación. La implementación
hardware del sistema de inyección minimiza la comunicación necesaria entre el
hardware y un computador, siendo dicha comunicación la mayor limitación en la
velocidad del proceso de inyección. En primer lugar, se presenta una técnica de
inyección de fallos basada en la emulación de fallos con FPGA, que permite evaluar un
circuito digital cuando se dispone de su descripción en un lenguaje de alto nivel, como
VHDL. Por otro lado, se propone una solución para la inyección de fallos en circuitos
microprocesadores basada en el uso de la infraestructura de depuración integrada en el
propio microprocesador (OCD, On-Chip Debugger), para acceder a sus recursos
internos (memorias y registros), en un componente comercial o prototipo final del
microprocesador.
Cuando se dispone de la descripción del circuito, éste se implementa junto con el
sistema de inyección en la FPGA y no es necesario establecer una comunicación con el
exterior durante el desarrollo de una campaña de inyección, por lo que esta propuesta se
ha denominado Emulación Autónoma. Al implementar el sistema completo de
inyección en un único dispositivo (la FPGA) se aumentan la observabilidad y
controlabilidad de los elementos del circuito. En este trabajo de investigación se han
propuesto optimizaciones del proceso de inyección, basadas en la mayor accesibilidad
al circuito que proporciona la Emulación Autónoma, para mejorar la eficiencia de las
tareas de inyección de fallos y observación del comportamiento del circuito en
presencia de fallos.
En esta tesis se describen y desarrollan tres implementaciones de técnicas de
inyección basadas en Emulación Autónoma, denominadas Time-Multiplexed, State-Scan
y Mask-Scan. Cada una de las tres implementaciones ofrece un compromiso distinto
entre velocidad del proceso de inyección y recursos necesarios para su aplicación. La
técnica Time-Multiplexed incluye el mayor número de optimizaciones y mejoras por lo
que es la técnica que mayor velocidad consigue en el proceso de evaluación pero, para
ello, requiere una cantidad de recursos también mayor que las otras dos
implementaciones. Las otras dos técnicas son simplificaciones de la primera, por lo que
utilizan menos recursos hardware en la emulación de fallos.
Además, se han desarrollado modelos de memoria que permiten aplicar la
técnica Time-Multiplexed a circuitos con memorias empotradas. Los modelos se basan
en controlar (para insertar los fallos) y observar (para detectar los errores y sus efectos)
el contenido de memoria a través de las señales de control, el bus de datos y el bus de
direcciones, evitando recorrer todas las palabras de datos. La inyección de fallos en
circuitos con memorias empotradas es un problema de gran interés, puesto que éstas
últimas son un componente cada vez más habitual en los diseños actuales. Además no
se había propuesto hasta la fecha ninguna solución eficiente para la emulación de fallos
en memorias. Esta aportación de la tesis permite inyectar fallos de forma rápida en
memorias empotradas resolviendo el problema de su limitada accesibilidad. También
para los modelos de memoria, se han propuesto distintas implementaciones en función
de las prestaciones conseguidas y recursos hardware necesarios, denominados modelo
Básico y modelo ECAM. El modelo Básico requiere menos recursos para su
implementación, mientras que el modelo ECAM proporciona una mayor capacidad de
análisis de los fallos.
Los experimentos realizados, tanto sobre circuitos de prueba como sobre
circuitos industriales reales, prueban que la Emulación Autónoma acelera el proceso de
inyección con respecto a otras soluciones propuestas, permitiendo inyectar millones de
fallos en unos pocos segundos. La aceleración conseguida es de dos órdenes de
magnitud, con la técnica Time-Multiplexed, con respecto a otras soluciones basadas en
emulación, que a su vez proporcionan una aceleración de cuatro órdenes de magnitud
con respecto a técnicas basadas en simulación. Esta notable aceleración en la inyección
de fallos permite evaluar circuitos de gran tamaño, como los circuitos actuales, donde
los posibles fallos suponen un número elevado, y para obtener una medida significativa
de su tolerancia a fallos es necesario inyectar un gran conjunto de fallos en un tiempo
razonable. Se ha comprobado experimentalmente la viabilidad de la solución presentada
para la inyección de fallos en memoria y las características de los modelos de memoria
propuestos, para ello se han realizado campañas de inyección sobre un microprocesador
industrial en el que se inyectan fallos tanto en los biestables como en la memoria.
Por otro lado, la técnica de inyección que se propone en la tesis orientada a
microprocesadores realiza la inyección de fallos y observación de sus efectos en el
circuito a través de su OCD. El avance de las capacidades e infraestructuras de
depuración en los microprocesadores actuales se debe al auge de SoCs y sistemas
empotrados en los que, de otra forma, el acceso para depuración a dicho componente
sería inviable o muy costoso. Estas capacidades proporcionan un mecanismo eficaz para
acceder a los recursos internos del microprocesador, necesario para realizar la inyección
de fallos y observar el comportamiento del circuito. El sistema de inyección propuesto
controla el OCD mediante su interfaz JTAG, el más común para acceder a los
microprocesadores actuales. Al igual que en el sistema de Emulación Autónoma, todas
las tareas de inyección se realizan desde el hardware, una FPGA, que se conecta al
microprocesador bajo estudio a través de su interfaz JTAG. Esta solución es aplicable a
cualquier microprocesador con OCD e interfaz JTAG, lo que son características
habituales en la actualidad.
Los experimentos desarrollados sobre microprocesadores comerciales (ARM y
PowerPC) demuestran que esta técnica proporciona una solución para la inyección de
fallos en componentes microprocesadores comerciales eficiente, de gran generalidad y
que alcanza un compromiso entre velocidad y coste.
En resumen, se ha propuesto una solución precisa, rápida y de bajo coste para
evaluar la tolerancia a fallos de tipo SEU de los circuitos digitales actuales, permitiendo
la inyección de fallos en circuitos de gran tamaño con memorias y microprocesadores
empotrados.
____________________________________________This PhD thesis presents new transient fault injection techniques to allow
evaluating the behaviour of complex digital circuits, as modern circuits, with transient
faults in memory elements, i.e., SEU (Single Event Upset) faults.
Fault injection techniques have been proposed to solve SEU tolerance evaluation
in different components of systems on chip (SoCs). The fault injection environment of
the proposed solutions in this thesis is emulation-based with FPGA, performing
injection tasks from the emulation hardware platform. The hardware implementation of
the injection system minimises the required communication between hardware and host
computer that is a bottleneck in speed injection process. First of all, a transient fault
emulation technique in FPGA devices aimed at evaluating a circuit, whose description
is available in a hardware description language (as VHDL), is presented. Secondly, a
fault injection technique aimed at evaluating fault tolerance in microprocessors is
proposed. Such proposal is applied on a final prototype or a commercial component and
it consists in using the debugger infrastructure integrated in the circuit (OCD, On-Chip
Debugger) to access the microprocessor’s internal resources (memory and registers).
On the one side, when the circuit description is available, the circuit is
implemented in the FPGA together with the injection system and therefore the
communication with the host PC is avoided during fault injection campaign. This fault
injection technique has been called Autonomous Emulation. The monolithic hardware
implementation for the injection system (a unique FPGA) provides better controllability
and observability of the circuit under test, than other solutions. Some injection process
optimisations are proposed in this research work in order to enhance the efficiency and
the speed of the different injection tasks.
In this work, three implementations of the Autonomous Emulation system are
proposed and developed. They are called Time-Multiplexed, State-Scan and Mask-
Scan. Each one provides a different trade-off between area overhead and injection
process speed-up. Time-Multiplexed technique includes more optimisations than the
other techniques. Therefore, it obtains the highest speed-up in the evaluation process,
but it requires more area overhead than the other implementations. State-Scan and
vi
Mask-Scan techniques are simplified versions of Time-Multiplexed implementation,
using less hardware resources to perform the fault emulation.
Furthermore, memory models have been developed in order to apply the Time-
Multiplexed technique to digital circuits with embedded memories. Such models are
based on controlling (to insert faults) and observing (to detect the errors and watch their
effects) the memory data by means of the control signals, data bus and memory address
bus, instead of accessing every memory word, that is a slow task, specially for large
memories. The fault injection in embedded memories is a very interesting problem as
they are components more and more usual in current digital designs. Besides, there is
not an efficient solution for fault emulation in memories in the literature. This thesis’
contribution allows the fault injection in embedded memories in a fast way, solving the
accessibility limitation problem. Different implementations have been also proposed for
the memory models, according to the trade-off between performance and hardware
resources requirements; they are named basic model and ECAM model. The basic
model involves less hardware resources, whilst the ECAM model provides a better
performance in the result analysis task.
The experiments developed in this thesis consist in performing fault injection
campaigns in benchmark circuits as well as in real ones. The experimental results prove
that Autonomous Emulation speeds-up the injection process with respect to other
existing solutions, making possible the injection of millions of faults in a few seconds.
The injection process speed increases around two orders of magnitude using Time-
Multiplexed with respect to other emulation-based solutions, what are faster than
simulation-based techniques in four orders of magnitude. This notable enhancement in
the injection speed allows the evaluation of the fault tolerance in large circuits, as the
current ones. In modern circuits, all the possible SEU faults suppose a very high number
of faults, and in order to obtain a significant measurement of the fault tolerance,
injecting a large set of faults in reasonable time is necessary. The feasibility of the
proposed memory models has also been analyzed performing fault campaigns in an
industrial microprocessor, injecting faults in flip-flops as well as in memory.
On the other side, the fault injection technique, proposed in this PhD thesis,
aimed at evaluating microprocessors using the OCD to insert the faults and to observe
their effects in the circuit. Nowadays, enhanced debugging capabilities and integrated
infrastructures are available in current microprocessors, due to the increasing use of
SoCs and embedded systems, where, without an OCD, the debugging process would be
infeasible or require a high cost. The OCD provides a mechanism to access
microprocessor’s internal resources and so it can be used to inject faults and to observe
the circuit behaviour. The proposed fault injection system controls the OCD by means
of the JTAG interface, what is the most common interface to access modern microprocessors. As in the Autonomous Emulation System, all the injection tasks are
performed in hardware, in an FPGA, that is connected to the microprocessor under test
by means of the JTAG interface. This solution could be applicable to any
microprocessor circuit with an OCD and a JTAG interface, what are the most common
features nowadays.
Developed experiments in commercial microprocessors (ARM and PowerPC)
show this technique provides an efficient solution to inject faults in microprocessors
devices, applicable to a wide range of different processors and offering a trade-off
between the injection process speed and its cost.
In summary, a fast, accurate and low cost solution to evaluate the SEU fault
tolerance in modern digital circuits has been proposed. It allows fault injection in large
circuits with embedded memories and microprocessors