Name: | Description: | Size: | Format: | |
---|---|---|---|---|
7.06 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
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.
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.
Description
Keywords
Sensor de performance NBTI PBTI Memórias CMOS SRAM DRAM