Publication:
Diseño de un sistema HW para evaluar el consumo de potencia de memorias SRAM con ECC

Research Projects
Organizational Units
Journal Issue
Abstract
Este Trabajo de Fin de Grado se eligió por la oportunidad de aprender más acerca de diseño hardware, ya que a lo largo de la carrera hay temas dentro de este ámbito que no se ven en profundidad. A ello hay que sumar, además, el hecho de poder diseñar una placa de circuito impreso (PCB), algo nuevo para todos los integrantes del equipo, a los que también les interesó el hecho de poder participar en un estudio donde se aplica radiación sobre una memoria SRAM (Static Random Access Memory) para estudiar su comportamiento. En este TFG se aborda la temática de los efectos de la radiación natural sobre dispositivos comerciales o Commercial-Off-The-Shelf (COTS), la cual provoca los Single Event Effects (SEEs). Esta problemática es especialmente de interés en entornos como el aeroespacial. Por otro lado, en dichos entornos, reducir el consumo de energía es también importante, para lo cual se suele utilizar una técnica conocida como Dynamic Voltage Scaling (DVS). En trabajos relacionados, se ha demostrado que si se reduce la tensión de alimentación de ciertos componentes de un sistema (como memorias volátiles) aumenta su sensibilidad a la radiación frente a los SEE, anteriormente mencionados. Para contrarrestar este efecto, un método efectivo es realizar lecturas periódicas, o ciclos de refresco, de todo su contenido cuyo periodo debe ser calculado según el número de errores detectados durante este proceso. Esto es efectivo porque la práctica totalidad de componentes, y en particular, memorias COTS ya implementan técnicas de corrección y detección de errores (Error Correcting Codes o ECC). Dicho ECC, al leer una palabra de memoria que ha sufrido un error, la corrige automáticamente, lo cual puede ser utilizado para aumentar la fiabilidad de datos en sistemas y dispositivos. Hay toda una colección de técnicas ECC para detectar y corregir errores simples y múltiples (con diversa multiplicidad) en una misma palabra. Con el fin de poder estudiar estos efectos, se ha diseñado un sistema que realiza lecturas periódicas sobre una memoria COTS. Como caso de estudio se ha elegido la memoria SRAM CY62167GE30-45ZXIES, la cual implementa un ECC que cuando se realiza la lectura de una palabra de memoria corrige automáticamente los errores simples, de un solo bit por palabra, pero no los errores MCU (Multiple Cell Upsets), de múltiples bits por palabra. Para poder ver el número de errores producidos, se ha implementado la recepción y transmisión de datos por consola con el uso de una UART (Universal Asynchronous Receiver-Transmitter). Dicho sistema consiste en una FPGA (que controla la operación del sistema) y una placa de expansión donde se coloca la memoria ya mencionada. Ambos elementos se comunican a través de un conector, para el cual, además, se tuvo que diseñar una PCB. Asimismo, se ha implementado una funcionalidad que permite modificar el período de los ciclos refresco de la memoria pero de forma manual, ya que se pretendía realizar un estudio de la cantidad de errores generados a lo largo del proceso de lectura aplicando DVS (Dynamic Voltage Scaling) durante del proceso de radiación, pero no fue posible debido a los inconvenientes causados por el confinamiento. El resultado final es un diseño hardware que controla las lecturas y escrituras de la memoria, los errores detectados durante la lectura y muestra por consola información relacionada con las lecturas realizadas.
This Bachelor thesis was chosen because it offered to us the opportunity to learn more about hardware design, since throughout the degree there are topics within this field that are not seen in depth. In addition, it allowed us to design a printed circuit board (PCB), which was something new for all the members of the team, who were also interested in being able to participate in a study where radiation is applied to a SRAM (Static Random Access Memory) to study its behavior. This Bachelor thesis addresses the effects of natural radiation on comercial off-the-shelf (COTS) devices, which causes Single Event Effects (SEEs). This problem is especially interesting in environments such as aerospace. On the other hand, in such environments, reducing energy consumption is also important, for which a technique known as Dynamic Voltage Scaling (DVS) is commonly used. In related works, it has been shown that reducing the supply voltage to certain components of a system (such as volatile memories) increases their sensitivity to radiation against the previously mentioned SEEs. To counteract this effect, an effective method consists in performing periodic readings, or refresh cycles, of all its contents whose period should be calculated according to the number of errors detected during this process. This is effective because almost all components, and in particular, COTS memories, already implement error correction and detection techniques (Error Correcting Codes or ECC). This ECC, when reading a memory word that has suffered an error, corrects it automatically, which can be used to increase data reliability in systems and devices. There exists a whole plethora of ECC techniques in the literature to detect and correct single and multiple errors (with different multiplicity) in the same word. In order to study these effects, a system has been designed that performs periodic readings on a COTS memory. As a case study, the SRAM CY62167GE30-45ZXIES memory has been chosen, which implements an ECC that, when reading a memory word, automatically corrects simple errors, of a single bit per word, but not MCUs (Multiple Cell Upsets), of multiple bits per word. In order to see the number of errors produced, data reception and transmission by console has been implemented using a UART (Universal Asynchronous Receiver-Transmitter). This system consists of an FPGA (which controls the operation of the system) and an expansion board where the already mentioned memory is placed. Both elements communicate through a connector, for which, in addition, a PCB had to be designed. Likewise, a functionality has been implemented that allows modifying the period of the memory refresh cycles. This is controlled manually, since the intention was to carry out a study of the amount of errors generated throughout the Reading process by applying DVS (Dynamic Voltage Scaling) during the radiation process. However, this was not possible due to the inconveniences caused by the confinement. The final result is a hardware design that controls the reading and writing operations of the memory, the errors detected during the reading processes and displays relevant information about the reading cycles by console.
Description
Trabajo de Fin de Grado en Ingeniería Informática y en Ingeniería de Computadores, Facultad de Informática UCM, Departamento de Arquitectura de Computadores y Automática, Curso 2019/2020
Unesco subjects
Keywords
Citation