290 research outputs found
A Reliable Low-area Low-power PUF-based Key Generator
This paper reports the implementation of a lowarea low-power 128-bit PUF-based key generation module which exploits a novel Two-Stage IDentification (TSID) cell showing a higher noise immunity then a standard SRAM cell. In addition, the pre-selection technique introduced in [1] is applied. This results in a stable PUF response in spite of process and environmental variations thus requiring a low cost error correction algorithm in order to generate a reliable key. The adopted PUF cell array includes 1056 cells and shows a power consumption per bit of 4:2 W at 100MHz with an area per bit of 2:4 m2. In order to evaluate reliability and unpredictability of the generated key, extensive tests have been performed both on the raw PUF data and on the final key. The raw PUF data after pre-selection show a worst case intra-chip Hamming distance below 0:7%. After a total of more than 5 109 key reconstructions, no single fail has been detected
Sensor de performance para células de memória CMOS
Vivemos hoje em dia tempos em que quase tudo tem um pequeno componente
eletrónico e por sua vez esse componente precisa de uma memória para guardar as suas
instruções. Dentro dos vários tipos de memórias, as Complementary Metal Oxide
Semiconductor (CMOS) são as que mais utilização têm nos circuitos integrados e, com o
avançar da tecnologia a ficar cada vez com uma escala mais reduzida, faz com que os
problemas de performance e fiabilidade sejam uma constante. Efeitos como o BTI (Bias
Thermal Instability), TDDB (Time Dependent Dielectric Breakdown), HCI (Hot Carrier
Injection), EM (Electromigration), ao longo do tempo vão deteriorando os parâmetros físicos
dos transístores de efeito de campo (MOSFET), mudando as suas propriedades elétricas.
Associado ao efeito de BTI podemos ter o efeito PBTI (Positive BTI), que afeta mais
os transístores NMOS, e o efeito NBTI (Negative BTI), que afeta mais os transístores PMOS.
Se para nanotecnologias até 32 nanómetros o efeito NBTI é dominante, para tecnologias mais
baixas os 2 efeitos são igualmente importantes. Porém, existem ainda outras variações no
desempenho que podem colocar em causa o bom funcionamento dos circuitos, como as
variações de processo (P), tensão (V) e temperatura (T), ou considerando todas estas variações,
e de uma forma genérica, PVTA (Process, Voltage, Temperature and Aging).
Tendo como base as células de memória de acesso aleatório (RAM, Random Access
Memory), em particular as memórias estáticas (SRAM, Static Random Access Memory) e
dinâmicas (DRAM, Dynamic Random Access Memory) que possuem tempos de leitura e
escrita precisos, estas ficam bastante expostas ao envelhecimento dos seus componentes e,
consecutivamente, acontece um decréscimo na sua performance, resultando em transições
mais lentas, que por sua vez fará com que existam leituras e escritas mais lentas e poderão
ocorrer erros nessas leituras e escritas . Para além destes fenómenos, temos também o facto de
a margem de sinal ruido (SNM - Static Noise Margin) diminuir, fazendo com que a fiabilidade
da memória seja colocada em causa.
O envelhecimento das memórias CMOS traduz-se, portanto, na ocorrência de erros nas
memórias ao longo do tempo, o que é indesejável, especialmente em sistemas críticos onde a
ocorrência de um erro ou uma falha na memória pode significar por em risco sistemas de elevada importância e fundamentais (por exemplo, em sistemas de segurança, um erro pode desencadear um conjunto de ações não desejadas). Anteriormente já foram apresentadas algumas soluções para esta monitorização dos
erros de uma memória, disponíveis na literatura, como é o caso do sensor de envelhecimento
embebido no circuito OCAS (On-Chip Aging Sensor), que permite detetar envelhecimento
numa SRAM provocado pelo envelhecimento por NBTI. Contudo este sensor demonstra
algumas limitações, pois apenas se aplica a um conjunto de células SRAM conectadas a uma
bit line, não sendo aplicado individualmente a outras células de memória como uma DRAM e
não contemplando o efeito PBTI. Outra solução apresentada anteriormente é o Sensor de
Envelhecimento para Células de Memória CMOS que demonstra alguma evolução em relação
ao sensor OCAS. Contudo, ainda tem limitações, como é o caso de estar bastante dependente
do sincronismo com a memória e não permitir qualquer tipo de calibração do sistema ao longo
do seu funcionamento.
O trabalho apresentado nesta dissertação resolve muitos dos problemas existentes nos
trabalhos anteriores. Isto é, apresenta-se um sensor de performance para memórias capaz de
reconhecer quando é que a memória pode estar na eminência de falhar, devido a fatores que
afetam o desempenho da memória nas operações de escrita e leitura. Ou seja, sinaliza de forma
preditiva as falhas.
Este sensor está dividido em três grandes partes, como a seguir se descreve. O
Transistion Detector é uma delas, que funciona como um “conversor” das transições na bit
line da memória para o sensor, criando pulsos de duração proporcional à duração da transição
na bit line, sendo que uma transição rápida resulta em pulsos curtos e uma transição lenta
resulta em pulsos longos. Esta parte do circuito apresenta 2 tipos de configurações para o caso
de ser aplicado numa SRAM, sendo que uma das configurações é para as memórias SRAM
inicializadas a VDD, e a segunda configuração para memórias SRAM inicializadas a VDD/2.
É também apresentada uma terceira configuração para o caso de o detetor ser aplicado numa
DRAM. O funcionamento do detetor de transições está baseado num conjunto de inversores
desequilibrados (ou seja, com capacidades de condução diferentes entre o transístor N e P no
inversor), criando assim inversores do tipo N (com o transístor N mais condutivo que o P) e
inversores do tipo P (com o transístor P mais condutivo que o N) que respondem de forma
diferente às transições de 1 para 0 e vice-versa. Estas diferenças serão cruciais para a criação
do pulso final que entrará no Pulse Detetor. Este segundo bloco do sensor é responsável por
carregar um condensador com uma tensão proporcional ao tempo que a bit line levou a
transitar. É nesta parte que se apresenta uma caraterística nova e importante, quando
comparado com as soluções já existentes, que é a capacidade do sensor poder ser calibrado. Para isso, é utilizado um conjunto de transístores para carregar o condensador durante o impulso gerado no detetor de transições, que permitem aumentar ou diminuir a resistência de
carga do condensador, ficando este com mais ou menos tensão (a tensão proporcional ao tempo
da transição da bit line) a ser usada na Comparação seguinte. O terceiro grande bloco deste
sensor é resumidamente um bloco comparador, que compara a tensão guardada no
condensador com uma tensão de referência disponível no sensor e definida durante o projeto.
Este comparador tem a função de identificar qual destas 2 tensões é a mais alta (a do
condensador, que é proporcional ao tempo de transição da bit line, ou a tensão de referência)
e fazer com a mesma seja “disparada” para VDD, sendo que a tensão mais baixa será colocada
a VSS. Desta forma é sinalizado se a transição que está a ser avaliada deve ser considerada
um erro ou não.
Para controlar todo o processo, o sensor tem na sua base de funcionamento um
controlador (uma máquina de estados finita composta por 3 estados). O primeiro estado do
controlador é o estado de Reset, que faz com que todos os pontos do circuito estejam com as
tenções necessárias ao início de funcionamento do mesmo. O segundo estado é o Sample, que
fica a aguardar uma transição na bit line para ser validada pelo sensor e fazer com que o mesmo
avance para o terceiro estado, que é o de Compare, onde ativa o comparador do sensor e coloca
no exterior o resultado dessa comparação. Assim, se for detetado uma transição demasiado
lenta na bit line, que é um sinal de erro, o mesmo será sinalizado para o exterior activando o
sinal de saída. Caso o sensor não detete nenhum erro nas transições, o sinal de saída não é
activado.
O sensor tem a capacidade de funcionar em modo on-line, ou seja, não é preciso
desligar o circuito de memória do seu funcionamento normal para poder ser testado. Para além
disso, pode ainda ser utilizado internamente na memória, como sensor local (monitorizando
as células reais de memória), ou externamente, como sensor global, caso seja colocado a
monitorizar uma célula de memória fictícia.Within the several types of memories, the Complementary Metal Oxide
Semiconductor (CMOS) are the most used in the integrated circuits and, as technology
advances and becomes increasingly smaller in scale, it makes performance and reliability a
constant problem. Effects such as BTI (Bias Thermal Instability), the positive (PBTI - Positive
BTI) and the negative (NBTI - Negative BTI), TDDB (Time Dependent Dielectric
Breakdown), HCI (Hot Carrier Injection), EM (Electromigration), etc., are aging effects that
contribute to a cumulatively degradation of the transistors. Moreover, other parametric
variations may also jeopardize the proper functioning of circuits and contribute to reduce
circuits’ performance, such as process variations (P), power-supply voltage variations (V) and
temperature variations (T), or considering all these variations, and in a generic way, PVTA
(Process, Voltage, Temperature and Aging).
The Sensor proposed in this paper aims to signalize these problems so that the user
knows when the memory operation may be compromised. The sensor is made up of three
important parts, the Transition Detector, the Pulse Detector and the Comparator, creating a
sensor that converts bit line transition created in a memory operation (read or write) into a
pulse and a voltage, that can be compared with a reference voltage available in the sensor. If
the reference voltage is higher than the voltage proportional to the bit line transition time, the
sensor output is not activated; but if the bit line transition time is high enough to generate a
voltage higher than the reference voltage in the sensor, the sensor output signalizes a predictive
error, denoting that the memory performance is in a critical state that may lead to an error if
corrective measures are not taken.
One important feature in this sensor topology is that it can be calibrated during
operation, by controlling sensor’s sensibility to the bit line transition. Another important
feature is that it can be applied locally, to monitor the online operation of the memory, or
globally, by monitoring a dummy memory in pre-defined conditions. Moreover, it can be
applied to SRAM or DRAM, being the first online sensor available for DRAM memories
Dynamic Partial Reconfiguration for Dependable Systems
Moore’s law has served as goal and motivation for consumer electronics manufacturers in the last decades. The results in terms of processing power increase in the consumer electronics devices have been mainly achieved due to cost reduction and technology shrinking. However, reducing physical geometries mainly affects the electronic devices’ dependability, making them more sensitive to soft-errors like Single Event Transient (SET) of Single Event Upset (SEU) and hard (permanent) faults, e.g. due to aging effects.
Accordingly, safety critical systems often rely on the adoption of old technology nodes, even if they introduce longer design time w.r.t. consumer electronics. In fact, functional safety requirements are increasingly pushing industry in developing innovative methodologies to design high-dependable systems with the required diagnostic coverage. On the other hand commercial off-the-shelf (COTS) devices adoption began to be considered for safety-related systems due to real-time requirements, the need for the implementation of computationally hungry algorithms and lower design costs. In this field FPGA market share is constantly increased, thanks to their flexibility and low non-recurrent engineering costs, making them suitable for a set of safety critical applications with low production volumes.
The works presented in this thesis tries to face new dependability issues in modern reconfigurable systems, exploiting their special features to take proper counteractions with low impacton performances, namely Dynamic Partial Reconfiguration
Sensor de envelhecimento para células de memória CMOS
Dissertação de Mestrado, Engenharia e Tecnologia, Instituto Superior de Engenharia, Universidade do Algarve, 2016As memórias Complementary Metal Oxide Semiconductor (CMOS) ocupam uma percentagem de área significativa nos circuitos integrados e, com o desenvolvimento de tecnologias de fabrico a uma escala cada vez mais reduzida, surgem problemas de performance e de fiabilidade. Efeitos como o BTI (Bias Thermal Instability), TDDB (Time Dependent Dielectric Breakdown), HCI (Hot Carrier Injection), EM (Electromigration), degradam os parâmetros físicos dos transístores de efeito de campo (MOSFET), alterando as suas propriedades elétricas ao longo do tempo. O efeito BTI pode ser subdividido em NBTI (Negative BTI) e PBTI (Positive BTI). O efeito NBTI é dominante no processo de degradação e envelhecimento dos transístores CMOS, afetando os transístores PMOS, enquanto o efeito PBTI assume especial relevância na degradação dos transístores NMOS. A degradação provocada por estes efeitos, manifesta-se nos transístores através do incremento do módulo da tensão de limiar de condução |ℎ| ao longo do tempo. A degradação dos transístores é designada por envelhecimento, sendo estes efeitos cumulativos e possuindo um grande impacto na performance do circuito, em particular se ocorrerem outras variações paramétricas. Outras variações paramétricas adicionais que podem ocorrer são as variações de processo (P), tensão (V) e temperatura (T), ou considerando todas estas variações, e de uma forma genérica, PVTA (Process, Voltage, Temperature and Aging).
As células de memória de acesso aleatório (RAM, Random Access Memory), em particular as memórias estáticas (SRAM, Static Random Access Memory) e dinâmicas (DRAM, Dynamic Random Access Memory), possuem tempos de leitura e escrita precisos. Quando ao longo do tempo ocorre o envelhecimento das células de memória, devido à degradação das propriedades dos transístores MOSFET, ocorre também uma degradação da performance das células de memória. A degradação de performance é, portanto, resultado das transições lentas que ocorrem, devido ao envelhecimento dos transístores MOSFET que comutam mais tarde, comparativamente a transístores novos. A degradação de performance nas memórias devido às transições lentas pode traduzir-se em leituras e escritas mais lentas, bem como em alterações na capacidade de armazenamento da memória. Esta propriedade pode ser expressa através da margem de sinal ruído (SNM). O SNM é reduzido com o envelhecimento dos transístores MOSFET e, quando o valor do SNM é baixo, a célula perde a sua capacidade de armazenamento, tornando-se mais vulnerável a fontes de ruído. O SNM é, portanto, um valor que permite efetuar a aferição (benchmarking) e comparar as características da memória perante o envelhecimento ou outras variações paramétricas que possam ocorrer. O envelhecimento das memórias CMOS traduz-se portanto na ocorrência de erros nas memórias ao longo do tempo, o que é indesejável especialmente em sistemas críticos.
O trabalho apresentado nesta dissertação tem como objetivo o desenvolvimento de um sensor de envelhecimento e performance para memórias CMOS, detetando e sinalizando para o exterior o envelhecimento em células de memória SRAM devido à constante monitorização da sua performance. O sensor de envelhecimento e performance é ligado na bit line da célula de memória e monitoriza ativamente as operações de leitura e escrita decorrentes da operação da memória.
O sensor de envelhecimento é composto por dois blocos: um detetor de transições e um detetor de pulsos. O detetor de transições é constituído por oito inversores e uma porta lógica XOR realizada com portas de passagem. Os inversores possuem diferentes relações nos tamanhos dos transístores P/N, permitindo tempos de comutação em diferentes valores de tensão. Assim, quando os inversores com tensões de comutações diferentes são estimulados pelo mesmo sinal de entrada e são ligados a uma porta XOR, permitem gerar na saída um impulso sempre que existe uma comutação na bit line. O impulso terá, portanto, uma duração proporcional ao tempo de comutação do sinal de entrada, que neste caso particular são as operações de leitura e escrita da memória. Quando o envelhecimento ocorre e as transições se tornam mais lentas, os pulsos possuem uma duração superior face aos pulsos gerados numa SRAM nova. Os pulsos gerados seguem para um elemento de atraso (delay element) que provoca um atraso aos pulsos, invertendo-os de seguida, e garantindo que a duração dos pulsos é suficiente para que exista uma deteção. O impulso gerado é ligado ao bloco seguinte que compõe o sensor de envelhecimento e performance, sendo um circuito detetor de pulso.
O detetor de pulso implementa um NOR CMOS, controlado por um sinal de relógio (clock) e pelos pulsos invertidos. Quando os dois sinais de input do NOR são ‘0’ o output resultante será ‘1’, criando desta forma uma janela de deteção. O sensor de envelhecimento será ajustado em cada implementação, de forma a que numa célula de memória nova os pulsos invertidos se encontrem alinhados temporalmente com os pulsos de relógio. Este ajuste é feito durante a fase de projeto, em função da frequência de operação requerida para a célula, quer pelo dimensionamento do delay element (ajustando o seu atraso), quer pela definição do período do sinal de relógio. À medida que o envelhecimento dos circuitos ocorre e as comutações nos transístores se tornam mais lentas, a duração dos pulsos aumenta e consequentemente entram na janela de deteção, originando uma sinalização na saída do sensor. Assim, caso ocorram operações de leitura e escrita instáveis, ou seja, que apresentem tempos de execução acima do expectável ou que os seus níveis lógicos estejam degradados, o sensor de envelhecimento e performance devolve para o exterior ‘1’, sinalizando um desempenho crítico para a operação realizada, caso contrário a saída será ‘0’, indicando que não é verificado nenhum erro no desempenho das operações de escrita e leitura.
Os transístores do sensor de envelhecimento e performance são dimensionados de acordo com a implementação; por exemplo, os modelos dos transístores selecionados, tensões de alimentação, ou número de células de memória conectadas na bit line, influenciam o dimensionamento prévio do sensor, já que tanto a performance da memória como o desempenho do sensor dependem das condições de operação.
Outras soluções previamente propostas e disponíveis na literatura, nomeadamente o sensor de envelhecimento embebido no circuito OCAS (On-Chip Aging Sensor), permitem detetar envelhecimento numa SRAM devido ao envelhecimento por NBTI. Porém esta solução OCAS apenas se aplica a um conjunto de células SRAM conectadas a uma bit line, não sendo aplicado individualmente a outras células de memória como uma DRAM e não contemplando o efeito PBTI.
Uma outra solução já existente, o sensor Scout flip-flop utilizado para aplicações ASIC (Application Specific Integrated Circuit) em circuitos digitais síncronos, atua também como um sensor de performance local e responde de forma preditiva na monitorização de faltas por atraso, utilizando por base janelas de deteção. Esta solução não foi projetada para a monitorização de operações de leitura e escrita em memórias SRAM e DRAM. No entanto, pela sua forma de atuar, esta solução aproxima-se mais da solução proposta neste trabalho, uma vez que o seu funcionamento se baseia em sinalização de sinais atrasados.
Nesta dissertação, o recurso a simulações SPICE (Simulation Program with Integrated Circuit Emphasis) permite validar e testar o sensor de envelhecimento e performance. O caso de estudo utilizado para aplicar o sensor é uma memória CMOS, SRAM, composta por 6 transístores, juntamente com os seus circuitos periféricos, nomeadamente o amplificador sensor e o circuito de pré-carga e equalização, desenvolvidos em tecnologia CMOS de 65nm e 22nm, com recurso aos modelos de MOSFET ”Berkeley Predictive Technology Models (PTM)”. O sensor é devolvido e testado em 65nm e em 22nm com os modelos PTM, permitindo caracterizar o sensor de envelhecimento e performance desenvolvido, avaliando também de que forma o envelhecimento degrada as operações de leitura e escrita da SRAM, bem como a sua capacidade de armazenamento e robustez face ao ruído.
Por fim, as simulações apresentadas provam que o sensor de envelhecimento e performance desenvolvido nesta tese de mestrado permite monitorizar com sucesso a performance e o envelhecimento de circuitos de memória SRAM, ultrapassando os desafios existentes nas anteriores soluções disponíveis para envelhecimento de memórias. Verificou-se que na presença de um envelhecimento que provoque uma degradação igual ou superior a 10%, o sensor de envelhecimento e performance deteta eficazmente a degradação na performance, sinalizando os erros. A sua utilização em memórias DRAM, embora possível, não foi testada nesta dissertação, ficando reservada para trabalho futuro
6T CMOS SRAM Stability in Nanoelectronic Era: From Metrics to Built-in Monitoring
The digital technology in the nanoelectronic era is based on intensive data processing and battery-based devices. As a consequence, the need for larger and energy-efficient circuits with large embedded memories is growing rapidly in current system-on-chip (SoC). In this context, where embedded SRAM yield dominate the overall SoC yield, the memory sensitivity to process variation and aging effects has aggressively increased. In addition, long-term aging effects introduce extra variability reducing the failure-free period. Therefore, although stability metrics are used intensively in the circuit design phases, more accurate and non-invasive methodologies must be proposed to observe the stability metric for high reliability systems. This chapter reviews the most extended memory cell stability metrics and evaluates the feasibility of tracking SRAM cell reliability evolution implementing a detailed bit-cell stability characterization measurement. The memory performance degradation observation is focused on estimating the threshold voltage (Vth) drift caused by process variation and reliability mechanisms. A novel SRAM stability degradation measurement architecture is proposed to be included in modern memory designs with minimal hardware intrusion. The new architecture may extend the failure-free period by introducing adaptable circuits depending on the measured memory stability parameter
Techniques for Aging, Soft Errors and Temperature to Increase the Reliability of Embedded On-Chip Systems
This thesis investigates the challenge of providing an abstracted, yet sufficiently accurate reliability estimation for embedded on-chip systems. In addition, it also proposes new techniques to increase the reliability of register files within processors against aging effects and soft errors. It also introduces a novel thermal measurement setup that perspicuously captures the infrared images of modern multi-core processors
Recommended from our members
Very-Large-Scale-Integration Circuit Techniques in Internet-of-Things Applications
Heading towards the era of Internet-of-things (IoT) means both opportunity and challenge for the circuit-design community. In a system where billions of devices are equipped with the ability to sense, compute, communicate with each other and perform tasks in a coordinated manner, security and power management are among the most critical challenges.
Physically unclonable function (PUF) emerges as an important security primitive in hardware-security applications; it provides an object-specific physical identifier hidden within the intrinsic device variations, which is hard to expose and reproduce by adversaries. Yet, designing a compact PUF robust to noise, temperature and voltage remains a challenge.
This thesis presents a novel PUF design approach based on a pair of ultra-compact analog circuits whose output is proportional to absolute temperature. The proposed approach is demonstrated through two works: (1) an ultra-compact and robust PUF based on voltage-compensated proportional-to-absolute-temperature voltage generators that occupies 8.3× less area than the previous work with the similar robustness and twice the robustness of the previously most compact PUF design and (2) a technique to transform a 6T-SRAM array into a robust analog PUF with minimal overhead. In this work, similar circuit topology is used to transform a preexisting on-chip SRAM into a PUF, which further reduces the area in (1) with no robustness penalty.
In this thesis, we also explore techniques for power management circuit design.
Energy harvesting is an essential functionality in an IoT sensor node, where battery replacement is cost-prohibitive or impractical. Yet, existing energy-harvesting power management units (EH PMU) suffer from efficiency loss in the two-step voltage conversion: harvester-to-battery and battery-to-load. We propose an EH PMU architecture with hybrid energy storage, where a capacitor is introduced in addition to the battery to serve as an intermediate energy buffer to minimize the battery involvement in the system energy flow. Test-case measurements show as much as a 2.2× improvement in the end-to-end energy efficiency.
In contrast, with the drastically reduced power consumption of IoT nodes that operates in the sub-threshold regime, adaptive dynamic voltage scaling (DVS) for supply-voltage margin removal, fully on-chip integration and high power conversion efficiency (PCE) are required in PMU designs. We present a PMU–load co-design based on a fully integrated switched-capacitor DC-DC converter (SC-DC) and hybrid error/replica-based regulation for a fully digital PMU control. The PMU is integrated with a neural spike processor (NSP) that achieves a record-low power consumption of 0.61 µW for 96 channels. A tunable replica circuit is added to assist the error regulation and prevent loss of regulation. With automatic energy-robustness co-optimization, the PMU can set the SC-DC’s optimal conversion ratio and switching frequency. The PMU achieves a PCE of 77.7% (72.2%) at VIN = 0.6 V (1 V) and at the NSP’s margin-free operating point
- …