Entendendo a memória Flash

Diferentemente da memória RAM e também das SRAM, a memória Flash permite armazenar dados por longos períodos, sem precisar de alimentação elétrica. Este simples fato acabou fazendo com que a memória Flash se tornasse uma das tecnologias mais importantes das últimas décadas, possibilitando o surgimento dos cartões de memória, pendrives, SSDs, celulares, câmeras e players de mídia com armazenamento interno e assim por diante.

Se a memória Flash não existisse, todas essas áreas estariam muito atrasadas em relação ao que temos hoje. Os celulares e os palmtops provavelmente ainda utilizariam memória SRAM para armazenar os dados e seriam por isso mais caros e perderiam os dados quando a bateria fosse removida. Os pendrives simplesmente não existiriam e os cartões de memória estariam estagnados nos cartões CompactFlash, utilizando microdrives ou chips de memória SRAM alimentados por uma pequena bateria. Formatos mais compactos, como os cartões SD e miniSD simplesmente não existiriam.

As células de memória Flash são bastante similares a um transistor MOSFET, construídas sobre um wafer de silício (o substrato). A grande diferença é que a célula utiliza dois gates em vez de um. O primeiro é o “control gate”, que é usado para ativar a célula e fazer a leitura dos dados armazenados.

Os dados propriamente ditos são armazenados no segundo, o “floating gate”, que é precisamente construído entre duas camadas de óxido de silício (oxide layer). O termo “floating” indica justamente o fato de ele ser posicionado entre as duas camadas, sem contato direto com os outros componentes da célula:

As camadas de dióxido de silício armazenam cargas negativas, o que cria uma espécie de armadilha de elétrons, que impede a saída de qualquer carga armazenada no floating gate, um arranjo que permite manter os dados por longos períodos de tempo, sem que seja necessário manter a alimentação elétrica (como nas memórias SRAM), ou muito menos fazer um refresh periódico (como na memória DRAM). Isso simplifica muito o design dos cartões, pendrives e outros dispositivos, pois eles precisam incluir apenas os chips de memória Flash, um chip controlador e as trilhas necessárias, sem necessidade de baterias ou de circuitos de refresh.

Os dados são gravados na célula através de um processo de programação, que consiste em ativar o transistor (a corrente flui do emissor para o coletor) e, simultaneamente, aplicar uma tensão mais alta (12 volts ou mais) no control gate. A alta tensão faz com que alguns dos elétrons sejam “sugados” para dentro do floating gate, onde ficam presos devido às duas camadas de óxido de silício. Uma vez que a célula é programada, os dados podem ser lidos inúmeras vezes, sem que seja necessário regravar os dados.

Para modificar os dados gravados é necessário primeiro limpar o conteúdo das células, o que é feito aplicando uma tensão diferencial entre o emissor e o control gate. Isso remove qualquer carga armazenada no floating gate, fazendo com que a célula retorne ao estado original e possa ser programada novamente. Todo chip de memória Flash suporta um número finito de operações de escrita (de 10.000 a 100.000) mas suporta um número quase ilimitado de operações de leitura.

Continuando, nem todos os chips de memória Flash nascem iguais. Embora a função seja sempre a mesma (armazenar dados), existem diferenças nas tecnologias usadas, que determinam onde o chip será usado.

Existem dois tipos de memória Flash. A primeira tecnologia de memória Flash a se popularizar foi o tipo NOR, que chegou ao mercado em 1988. Os chips de memória Flash NOR possuem uma interface de endereços similar à da memória RAM, incluindo o suporte ao XiP (eXecute in Place), que permite que softwares armazenados no chip de memória Flash sejam executados diretamente, sem precisarem ser primeiro copiados para a memória RAM.

Isso permite que eles sejam usados para armazenar o BIOS da placa-mãe e firmwares em dispositivos diversos, que antes eram armazenados em chips de memória ROM ou EEPROM. Nos primeiros PCs, por exemplo, o BIOS da placa-mãe era gravado em um chip de memória ROM e por isso não era atualizável, a menos que o chip fosse fisicamente substituído.

O problema com as memórias NOR é que elas são muito caras e, embora as leituras sejam rápidas, o tempo de gravação das células é muito alto. Em um chip de memória NOR típico, as operações de gravação demoram cerca de 750 nanosegundos, o que é várias ordens de magnitude mais lento do que em um chip de memória RAM.

No caso do BIOS da placa-mãe, isso não é um grande problema, pois você só precisa atualizá-lo esporadicamente, mas os chips de memória Flash NOR não seriam muito adequados para uso em um SSD, por exemplo.

Chips de memória Flash NOR de acesso serial, como os usados para gravar o BIOS em placas-mãe atuais

As memórias NOR chegaram a ser utilizadas em muitos palmtops e smartphones (até por volta de 2006) para armazenar o firmware do sistema, mas nesse caso ela era usada apenas para leitura, com todas as operações de escrita sendo feitas em um chip de memória SRAM ou Flash NAND separado. A vantagem nesse caso é que o boot era um pouco mais rápido, já que o sistema podia rodar diretamente a partir da memória Flash, sem precisar ser primeiro copiado para a memória RAM. Eles são também muito utilizados em dispositivos mais simples, como impressoras, modems ADSL, pontos de acesso e outros, armazenando o firmware do sistema.

De volta aos PCs, as memórias Flash NOR chegaram a ser utilizadas nos primeiros cartões de memória PCMCIA e CompactFlash, mas elas desapareceram desse ramo quando foram introduzidas as memórias NAND, que rapidamente se tornaram as mais populares.

Além de mais baratas que as NOR, as memórias NAND também são muito mais rápidas na hora de gravar dados. A principal limitação é que elas são endereçadas usando páginas de 4 KB (ou 2 KB, dependendo do design do chip) e acessadas através de um barramento serial. Ou seja, do ponto de vista do sistema, um cartão de memória Flash NAND está mais para um HD do que para uma unidade de memória. Você pode usá-lo para guardar dados, mas na hora que o sistema precisa rodar um programa, precisa primeiro copiá-lo para a memória RAM, da mesma forma que faria ao usar um HD.

A partir de 2006, até mesmo os smartphones e palmtops passaram a utilizar chips de memória NAND para armazenar o firmware e os aplicativos instalados, em vez de um chip separado de memória XOR.

Isso se tornou possível graças ao uso de sistema de execução dinâmica, onde os aplicativos são primeiro copiados da memória Flash para a memória RAM e executados a partir dela. Esse esquema é muito similar ao que temos num PC, onde os arquivos são salvos no HD, porém processados usando a memória RAM.

O grande boom da memória Flash aconteceu entre 2004 e 2005, quando uma combinação de dois fatores fez com que os preços por MB caíssem rapidamente.

O primeiro foi o brutal aumento na produção e a concorrência entre os fabricantes, que empurraram os preços para baixo. Além de gigantes como a Samsung e a Toshiba, até mesmo a Intel e a AMD investiram pesadamente na fabricação de memória Flash.

O segundo foi a introdução da tecnologia MLC (Mult-Level Cell), onde cada célula passa a armazenar dois ou mais bits em vez de apenas um. Isso é possível graças ao uso de tensões intermediárias. Com 4 tensões diferentes, a célula pode armazenar 2 bits, com 8 pode armazenar 3 bits e assim por diante. Na geração atual (2009) os chips armazenam apenas 2 bits, mas não deve demorar até que os fabricantes desenvolvam células capazes de armazenar 3 e 4 bits, já que isso reduzirá proporcionalmente o custo por megabyte.

O MLC foi implantado de forma mais ou menos simultânea pelos diversos fabricantes e permitiu reduzir drasticamente o custo por megabyte, quase que de uma hora para a outra. Hoje em dia, os chips MLC são os usados na esmagadora maioria dos pendrives, cartões de memória e SSDs.

Os chips “tradicionais”, que armazenam um único bit por célula passaram a ser chamados de “SLC” (Single-Level Cell) e ainda são produzidos com o objetivo de atender o mercado de SSDs de alto desempenho (sobretudo os modelos destinados ao mercado de servidores). Embora muito mais caros, eles oferecem um melhor desempenho e são mais duráveis.

Outra tecnologia usada pelos fabricantes para cortar custos e ao mesmo tempo permitir a criação de chips de maior densidade é o “Die-Stacking”, onde dois ou mais chips são “empilhados”, conectados entre si e selados dentro de um único encapsulamento, que possui o mesmo formato e contatos que um chip tradicional:

Chips de memória empilhados, usando o die-stacking

Assim como em outras tecnologias, o uso do die-stacking inicialmente encarecia os chips, mas, com a evolução das técnicas de produção, ele acabou resultando em redução de custos, já que boa parte do preço de um chip de memória flash corresponde, justamente, ao processo de encapsulamento. Com isso, acaba sendo bem mais barato produzir um único chip com 8 camadas, do que 8 chips separados, por exemplo.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X