05/12/2013 18h53 - Atualizado em 06/12/2013 14h03

SSD: Células de memória não voláteis

B. Piropo
por
Por Benito Piropo Para o TechTudo

Passei as últimas décadas repetindo para meus alunos tantas vezes que até parecia um mantra: “uma célula de memória só pode armazenar um bit, representando um dentre dois valores, zero ou um, já que só pode assumir dois estados”. Era pergunta quase certa nas provas e de tanto me ouvir repetir, poucos erravam. Era quase uma verdade fundamental, férrea.

E agora com que cara eu vou dizer a eles que há células de memória que podem armazenar dois bits pois conseguem assumir quatro estados? E, heresia das heresias, como informar-lhes que já estão ensaiando a fabricação de módulos de memória com células que assumem até oito diferentes estados, podendo assim representar três bits?

Pois é, a vida de um velho professor tem seus percalços. A tecnologia evolui e é preciso acompanhar de perto esta evolução para não continuar prisioneiro de conceitos antigos.

Então vamos lá. As velhas células de memória, as tradicionais, que assumem apenas dois estados e armazenam um bit ainda existem e continuarão a existir por muitos e muitos anos, dominando o mercado. Em geral os dois estados são representados por dois diferentes níveis de carga elétrica. Nas memórias de semicondutores simples, as memórias voláteis usadas na memória primária (ou RAM), estes níveis podem ser simplesmente “zero”, ou seja, sem carga elétrica, e “maior que zero” (a rigor, maior que uma tensão próxima de zero).

Mas nas memórias de semicondutores não voláteis, como as usadas nos chamados “pen-drives” e nos nossos SSD, a coisa é diferente. Como elas devem necessariamente manter o valor armazenado mesmo quando seus circuitos não são alimentados por corrente elétrica, a coisa é diferente.

[Atenção: não cabe aqui descer a detalhes sobre as características físicas e elétricas dos transistores nem examinar em profundidade o funcionamento de células de memória. Mas como detesto deixar assuntos pendentes vou tentar resumir tudo isto de forma extremamente simplificada; mas no próprio texto fornecerei atalhos para fontes adicionais para quem quiser entender melhor o funcionamento destes dispositivos]

Uma célula de memória volátil comum é basicamente um transistor com seus três terminais: base, emissor e transmissor (ou “gate”, “source” e “drain”). Quando há uma tensão aplicada à base, o transistor conduz, ou seja, deixa passar uma tensão elétrica entre emissor e transmissor. Quando não há tensão (ou há, mas é muito próxima de zero), o transistor não conduz. Por isto, ou seja, por poder assumir dois estados mutuamente exclusivos, o transistor pode ser usado como célula de memória para armazenar um bit: um estado representa o valor “um”, o outro o valor “zero”. Mas note que o dispositivo acima descrito só pode funcionar como célula de memória quando o circuito onde está inserido está energizado, para que seja possível aplicar ou não a tensão na base.

GPC20131205_1Figura 1: memoria tipo “flash” descarregada e carregada (Foto: Reprodução/Internet)

Por isto as células das memórias não voláteis (tipo “flash”) precisam ser diferentes, já que devem manter o conteúdo armazenado mesmo quando não alimentadas com energia. A diferença consiste no fato de que estas células possuem uma base (ou “porta”, ou “gate”) adicional denominada “Porta de controle” (“control gate”) separada da base convencional (denominada “floating gate”) por uma fina camada de óxido de silício, um material isolante. Veja, na parte de cima da Figura 1 (obtida no sítio “How stuff Works”, onde há uma explicação bem mais detalhada do funcionamento deste tipo de célula de memória) a distribuição dos elementos com a célula “descarregada”, o que é fácil perceber pois a linha azul que representa a corrente fluindo entre os elementos, atravessa o “drain” (emissor) e o “floating gate” (base), mas interrompe seu trajeto acima da “source” (coletor). Portanto não há corrente entre emissor e coletor, o que representa o valor “zero”.

Para carregar a célula, aplica-se uma tensão ao “floating gate” (base), o que fará com que o transistor conduza e portanto passe a representar o valor “um”, como se percebe na parte de baixo da figura 1 (onde a linha azul prossegue além da “source”). O problema é como manter a tensão aplicada ao “floating gate” (base) quando, por exemplo, se remove o “pen-drive” de seu encaixe, cortando sua alimentação.

Bem, é para isto que existe o “control gate”. Diferentemente das células de memória voláteis convencionais (tipo RAM), nas quais a tensão aplicada a base é da ordem um Volt, a que se aplica ao “floating gate” para carregar a célula não volátil é alta, da ordem de dez a treze Volts. Tão alta que força os elétrons a vencerem a resistência da camada de óxido de silício e saltarem para o “control gate”. Ao cessar a aplicação da tensão ao “floating gate”, esses elétrons continuam retidos no “control gate”, já que agora a tensão não é suficiente para forçá-los a atravessar novamente a camada de óxido de silício no sentido oposto. E, até que esta situação seja modificada, a tensão permanece <span>aplicada</span> ao “floating gate”, fazendo com que o valor “um” permaneça armazenado.

Engenhoso, pois não?

Sim, está tudo muito bom, tudo muito bem, mas até agora a única diferença entre esta célula de memória e a convencional é que a primeira preserva o valor mesmo sem alimentação elétrica devido à tensão que permanece armazenada no “control gate”, ou seja, é não volátil, enquanto as memórias convencionais são voláteis pois necessitam de alimentação elétrica. Porém tanto umas quanto outras continuam assumindo apenas dois estados, portando armazenam apenas um bit cada.

E eu mencionei que já há células de memória capazes de assumir mais de dois estados.

Bem, como eu disse, a explicação acima foi bastante simplificada. Na prática, a coisa é um pouco mais complicada. Se vocês ainda lembram, eu mencionei lá no começo (para ser exato, no final do quarto parágrafo) que mesmo nas células de memória voláteis a tensão não chega a zero quando está descarregada (valor “zero”), mas fica abaixo de um limiar de tensão muito próximo de zero.

Pois bem: nas células de memória não volátil que estamos discutindo ocorre o mesmo, porém o limiar de tensão é bastante mais alto. Para ser exato, em torno de 4V, como mostra a Figura 2 (obtida no excelente trabalho “SLC vs. MLC: An Analysis of Flash Memory” que aborda o assunto primorosamente e eu recomendo).

Passei as últimas décadas repetindo para meus alunos tantas vezes que até parecia um mantra: “uma célula de memória só pode armazenar um bit, representando um dentre dois valores, zero ou um, já que só pode assumir dois estados”. Era pergunta quase certa nas provas e de tanto me ouvir repetir, poucos erravam. Era quase uma verdade fundamental, inamovível, férrea.

E agora com que cara eu vou dizer a eles que há células de memória que podem armazenar dois bits pois conseguem assumir quatro estados? E, heresia das heresias, como informar-lhes que já estão ensaiando a fabricação de módulos de memória com células que assumem até oito diferentes estados, podendo assim representar três bits?

Pois é, a vida de um velho professor tem seus percalços. A tecnologia evolui e é preciso acompanhar de perto esta evolução para não continuar prisioneiro de conceitos antigos.

Então vamos lá. As velhas células de memória, as tradicionais, que assumem apenas dois estados e armazenam um bit ainda existem e continuarão a existir por muitos e muitos anos, dominando o mercado. Em geral os dois estados são representados por dois diferentes níveis de carga elétrica. Nas memórias de semicondutores simples, as memórias voláteis usadas na memória primária (ou RAM), estes níveis podem ser simplesmente “zero”, ou seja, sem carga elétrica, e “maior que zero” (a rigor, maior que uma tensão próxima de zero).

Mas nas memórias de semicondutores não voláteis, como as usadas nos chamados “pen-drives” e nos nossos SSD, a coisa é diferente. Como elas devem necessariamente manter o valor armazenado mesmo quando seus circuitos não são alimentados por corrente elétrica, a coisa é diferente.

[Atenção: não cabe aqui descer a detalhes sobre as características físicas e elétricas dos transistores nem examinar em profundidade o funcionamento de células de memória. Mas como detesto deixar assuntos pendentes vou tentar resumir tudo isto de forma extremamente simplificada; mas no próprio texto fornecerei atalhos para fontes adicionais para quem quiser entender melhor o funcionamento destes dispositivos]

Uma célula de memória volátil comum é basicamente um transistor com seus três terminais: base, emissor e transmissor (ou “gate”, “source” e “drain”). Quando há uma tensão aplicada à base, o transistor conduz, ou seja, deixa passar uma tensão elétrica entre emissor e transmissor. Quando não há tensão (ou há, mas é muito próxima de zero), o transistor não conduz. Por isto, ou seja, por poder assumir dois estados mutuamente exclusivos, o transistor pode ser usado como célula de memória para armazenar um bit: um estado representa o valor “um”, o outro o valor “zero”. Mas note que o dispositivo acima descrito só pode funcionar como célula de memória quando o circuito onde está inserido está energizado, para que seja possível aplicar ou não a tensão na base.

Por isto as células das memórias não voláteis (tipo “flash”) precisam ser diferentes, já que devem manter o conteúdo armazenado mesmo quando não alimentadas com energia. A diferença consiste no fato de que estas células possuem uma base (ou “porta”, ou “gate”) adicional denominada “Porta de controle” (“control gate”) separada da base convencional (denominada “floating gate”) por uma fina camada de óxido de silício, um material isolante. Veja, na parte de cima da Figura 1 (obtida no sítio “How stuff Works”, onde há uma explicação bem mais detalhada do funcionamento deste tipo de célula de memória) a distribuição dos elementos com a célula “descarregada”, o que é fácil perceber pois a linha azul que representa a corrente fluindo entre os elementos, atravessa o “drain” (emissor) e o “floating gate” (base), mas interrompe seu trajeto acima da “source” (coletor). Portanto não há corrente entre emissor e coletor, o que representa o valor “zero”.

Para carregar a célula, aplica-se uma tensão ao “floating gate” (base), o que fará com que o transistor conduza e portanto passe a representar o valor “um”, como se percebe na parte de baixo da figura 1 (onde a linha azul prossegue além da “source”). O problema é como manter a tensão aplicada ao “floating gate” (base) quando, por exemplo, se remove o “pen-drive” de seu encaixe, cortando sua alimentação.

Bem, é para isto que existe o “control gate”. Diferentemente das células de memória voláteis convencionais (tipo RAM), nas quais a tensão aplicada a base é da ordem um Volt, a que se aplica ao “floating gate” para carregar a célula não volátil é alta, da ordem de dez a treze Volts. Tão alta que força os elétrons a vencerem a resistência da camada de óxido de silício e saltarem para o “control gate”. Ao cessar a aplicação da tensão ao “floating gate”, esses elétrons continuam retidos no “control gate”, já que agora a tensão não é suficiente para forçá-los a atravessar novamente a camada de óxido de silício no sentido oposto. E, até que esta situação seja modificada, a tensão permanece <span>aplicada</span> ao “floating gate”, fazendo com que o valor “um” permaneça armazenado.

Engenhoso, pois não?

Sim, está tudo muito bom, tudo muito bem, mas até agora a única diferença entre esta célula de memória e a convencional é que a primeira preserva o valor mesmo sem alimentação elétrica devido à tensão que permanece armazenada no “control gate”, ou seja, é não volátil, enquanto as memórias convencionais são voláteis pois necessitam de alimentação elétrica. Porém tanto umas quanto outras continuam assumindo apenas dois estados, portando armazenam apenas um bit cada.

E eu mencionei que já há células de memória capazes de assumir mais de dois estados.

Bem, como eu disse, a explicação acima foi bastante simplificada. Na prática, a coisa é um pouco mais complicada. Se vocês ainda lembram, eu mencionei lá no começo (para ser exato, no final do quarto parágrafo) que mesmo nas células de memória voláteis a tensão não chega a zero quando está descarregada (valor “zero”), mas fica abaixo de um limiar de tensão muito próximo de zero.

Pois bem: nas células de memória não volátil que estamos discutindo ocorre o mesmo, porém o limiar de tensão é bastante mais alto. Para ser exato, em torno de 4V, como mostra a Figura 2 (obtida no excelente trabalho “SLC vs. MLC: An Analysis of Flash Memory” que aborda o assunto primorosamente e eu recomendo).

GPC20131205_2Figura 2: limiar de tensão na memória de semicondutores não volátil (Foto: Reprodução/Internet)

Então para verificar se uma célula representa o valor “um” ou “zero” basta usar um sensor de tensão que determine se sua carga corresponde a uma tensão maior ou menor que 4V.

Ora, se para determinar o “valor” armazenado em uma célula de memória não volátil eu preciso medir a tensão entre seus terminais, por que me limitar apenas a dois valores para esta tensão?

Pois foi assim que surgiram as células de memória tipo “multi-nível” (MLC, ou Multi Level Cell).

Que vamos abordar na próxima coluna.

B.Piropo

 


Seja o primeiro a comentar

Os comentários são de responsabilidade exclusiva de seus autores e não representam a opinião deste site. Se achar algo que viole os termos de uso, denuncie. Leia as perguntas mais frequentes para saber o que é impróprio ou ilegal.

recentes

populares

  • Jorge Bosch
    2013-12-12T17:33:01

    A série de artigos está ótima. Só um pequeno reparo neste artigo: um bom trecho do artigo está repetido. No mais, parabéns!