Total de visualizações de página

sexta-feira, 1 de abril de 2016

SLC, MLC e TLC: Por quê as memórias Flash estão ficando piores


Introdução

Normalmente, conforme a tecnologia avança, ganhamos tanto em desempenho quanto em confiabilidade dos componentes. Basta ver o caso das placas-mãe atuais, que embora incluam barramentos mais rápidos e um número maior de trilhas e componentes são muito mais duráveis que placas de uma década atrás, devido ao uso de capacitores de estado sólido e outras melhorias. Mesmo os HDs magnéticos atuais são (em média) bem mais duráveis que os modelos de duas décadas atrás, sem falar nas fontes de alimentação (de boas marcas) e muitos outros componentes. A obsolência programada continua dando as caras, fazendo com que acabemos trocando nosso arsenal high-tech bem antes do que deveríamos, mas em questão de durabilidade os componentes de informática estão, de uma forma geral, ficando melhores, sem falar no desempenho, que continua melhorando a cada nova geração.
Uma exceção para a regra são as memórias Flash. Embora avanços nas técnicas de produção tenham feito com que o custo por megabyte venha caindo rapidamente, as células estão ficando mais lentas, mais propensas a erros e ainda por cima oferecendo exponencialmente menos ciclos de leitura e escrita que suas antepassadas. Na minha época, boas memórias Flash eram projetadas para suportarem acima de 100.000 ciclos de escrita, enquanto muitas células atuais, usadas em pendrives e também em alguns SSDs de baixo custo suportam menos de 1000 ciclos de escrita!
A própria velocidade de acesso das memórias vem decaindo, como se tornou visível na recente migração dos 34 para os 25 nm, com as células de memória oferecendo tempos de acesso mais altos e taxas de leitura e escrita mais baixas. Muitos fabricantes têm sido capazes de compensar esta queda no desempenho e confiabilidade das memórias Flash com controladores melhores e do uso de uma percentagem maior do SSD para redundância, mas isso não anula a questão central de que os fabricantes estão produzindo chips de memória flash piores a cada nova geração, conseguindo avanços apenas em relação ao custo.
Para entender o que está causando esta lei de Moore ao contrário, vamos começar revisando sobre como funcionam as células de memória Flash:

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, chegando a até 25 volts em alguns casos) 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 (que variam radicalmente, indo de algumas poucas centenas a dezenas de milhares) mas suporta um número quase ilimitado de operações de leitura.
Tradicionalmente, a memória Flash é bastante rápida em termos de tempo de acesso, com as taxas de transferência sendo mais limitadas pelos controladores e barramentos utilizados do que pela memória Flash em si. O maior problema com a memória Flash é mesmo o custo por gigabyte, que é dezenas de vezes superior ao dos HDs magnéticos, limitando a adoção, especialmente no ramo dos SSDs, que concorrem diretamente com eles.
Pressionados, os fabricantes recorrem a duas técnicas. A primeira é a boa e velha migração para técnicas mais avançadas de produção para espremer mais células em cada milímetro quadrado do wafer de silício. A segunda é o armazenamento de múltiplos bits em cada célula de memória Flash, o que deu origem às memórias Flash MLC e TLC. Infelizmente, ambas as técnicas estão trazendo o efeito adverso de reduzir tanto o desempenho quanto a confiabilidade da memória Flash, produzindo chips que a cada nova geração são inferiores ao produzidos na geração anterior, especialmente com a introdução do TLC.

Nenhum comentário:

Postar um comentário