quinta-feira, 12 de fevereiro de 2015

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. Graças a isso, a memória Flash se tornou rapidamente a
tecnologia dominante em cartões de memória, pendrives, HDs de estado sólido (SSDs), memória de armazenamento em câmeras, celulares e palmtops e assim por diante. Conheça em detalhes seu funcionamento e os formatos usados.

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. Graças a isso, a memória Flash se tornou rapidamente a tecnologia dominante em cartões de memória, pendrives, HDs de estado sólido (SSDs), memória de armazenamento em câmeras, celulares e palmtops e assim por diante.
Se a memória Flash não existisse, todas estas áreas estariam muito atrasadas em relação ao que temos hoje. Os celulares e 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 compact-flash, utilizando microdrives ou pequenas quantidades de memória SRAM alimentada por uma pequena bateria. Formatos mais compactos, como os cartões SD e mini SD simplesmente não existiriam.
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.
Graças a isso, eles rapidamente passaram a ser 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. Num chip de memória NOR típico, as operações de gravação demoram cerca de 750 ns, ou seja, teríamos pouco mais de 1000 operações de gravação por segundo!
No caso do BIOS da placa mãe, isso não é um grande problema, pois você só precisa atualizá-lo esporadicamente. Mas, imagine um palmtop que tentasse utilizar apenas memória NOR com memória de trabalho... O sistema rodaria tão lentamente que a idéia acabaria sendo abandonada mais cedo ou mais tarde. :)
Apesar disso, a memória Flash do tipo NOR é bastante usada até hoje em palmtops, celulares e diversos tipos de dispositivos, para armazenar o sistema operacional (neste caso chamado de firmware), que é carregado durante o boot, sem ser alterado. A vantagem neste caso é o XiP (execute in place), onde o sistema pode rodar diretamente a partir do chip de memória, sem precisar ser primeiro copiado para a memória RAM.
O chip de memória NOR é complementado por uma pequena quantidade de memória SRAM ou DRAM, que é usada como memória de trabalho. Em muitos casos, a memória é usada também para armazenar dados e configurações que, justamente por isso, podem ser perdidos quando a carga da bateria se esgota completamente.
As memórias Flash NOR chegaram a ser utilizadas nos primeiros cartões de memória PCMCIA e Compact Flash, mas elas desapareceram deste ramo quando foram introduzidas as memórias NAND, que são de longe o tipo mais usado atualmente.
Nelas, cada célula é composta por dois transístores, com uma fina camada de óxido de silício precisamente posicionada entre os dois, que armazena cargas negativas. Isto cria uma espécie de armadilha de elétrons, 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). Isto simplifica muito o design dos cartões, pendrives e outros dispositivos, pois eles precisam incluir apenas os chips de memória Flash NAND, um chip controlador e as trilhas necessárias. Nada de baterias, circuitos de refresh ou qualquer coisa do gênero.






Aqui temos um diagrama da Intel que mostra uma célula de memória Flash NAND:

Pelo diagrama você pode notar que embora mais complexa que uma célula de memória RAM (onde temos apenas um transístor e um capacitor), a célula de memória flash ocupa pouco espaço, pois o segundo transístor é posicionado sobre o primeiro. Graças ao tamanho reduzido das células, cada chip de memória Flash NAND armazena uma quantidade muito maior de dados, o que faz com que o preço por megabyte seja muito mais baixo.
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 2 KB 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.
De alguns anos para cá, os palmtops e smartphones passaram a cada vez mais utilizar memória Flash NAND como área de armazenamento de dados e programas, substituindo a memória SRAM. Isso se tornou possível graças a um conjunto de truques feitos via software, onde o sistema utiliza uma quantidade menor de memória SRAM como área de trabalho e vai lendo e os arquivos na memória Flash conforme eles são necessários. 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.
Um dos primeiros aparelhos a aderir a este sistema foi o Treo 650, lançado em 2004. Atualmente ele é utilizado na grande maioria dos modelos, pois, além de cortar custos, melhora a confiabilidade do aparelho, já que os dados não são mais perdidos ao remover a bateria.



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 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 ao invés 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. 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. Outra tecnologia similar é o MBC (Multi-Bit Cell), desenvolvido pela Infineon.
Os chips "tradicionais", que armazenam um único bit por célula passaram a ser chamados de "SLC" (single-bit cell) e ainda são produzidos com o objetivo de atender o mercado de cartões de alto desempenho (sobretudo os cartões CF destinados ao mercado profissional). 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 sí e selados dentro de um único encapsulamento, que possui o mesmo formato e contatos que um chip tradicional. Como uma boa parte do custo de um chip de memória flash corresponde justamente ao processo de encapsulamento, o uso do Die-Stacking permite mais uma redução substancial do custo.
Como de praxe, a popularização das memórias Flash deu início a uma guerra entre diversos formatos de cartões, alguns abertos e outros proprietários.
Compact Flash: Excluindo os jurássicos cartões de memória PCMCIA, o primeiro formato de cartão foi o Compact Flash ( CF), onde é utilizada uma interface muito similar à interface IDE usada pelos HDs, com nada menos que 50 pinos. Aqui temos um cartão CF aberto:



De um dos lados temos o chip controlador e um dos chips de memória e no outro temos espaço para mais dois chips,


totalizando até 3 chips de alta capacidade. Graças a este design, os cartões CF oferecem boas taxas de transferência, mas em compensação são caros e volumosos, o que explica a decadência do formato.
Os cartões Compact Flash ainda são produzidos e sobrevivem em alguns nichos. Eles são usados por algumas câmeras da Canon, voltadas para o segmento profissional (onde a boa taxa de transferência dos cartões CF presta bons serviços) e em diversos tipos de sistemas embarcados. Devido à similaridade entre os dois barramentos, existem adaptadores que permitem instalar cartões CF numa porta IDE, substituindo o HD.
Smart Media: Em 1995 a Toshiba lançou o formato Smart Media (SM), um formato muito mais simples, onde o chip de memória é acessado diretamente, sem o uso de um chip controlador. O chip de memória é encapsulado dentro de um cartucho plástico, com apenas 0.76 mm de espessura e os contatos externos são ligados diretamente a ele. Nesta foto você pode ver um cartão Smart Media em comparação com um cartão MMC e um Memory Stick:



Apesar de finos, os cartões SM eram relativamente grandes, o que levou os fabricantes a abandonarem o formato. Surgiram então os formatos xD, MMC, SD e Memory Stick. Surpreendentemente, os leitores de cartões USB passaram oferecer suporte para todos os formatos simultaneamente. Isto foi possível graças ao desenvolvimento de chips controladores "tudo em um", capazes de converter cada um dos protocolos nos comandos suportados pelo padrão USB. Existem também os leitores incluídos nos notebooks, que lêem cartões SD e Memory Stick. Do ponto de vista do sistema operacional, eles são diferentes dos leitores USB, pois são ligados ao barramento PCI (ou PCI Express) ao invés de usarem o barramento USB e a maioria das funções são executadas via software (como num softmodem), graças ao driver instalado.
Cartões xD: O próximo da lista é o xD, um formato proprietário, usado em câmeras da Olympus e da Fujifilm. Eles são relativamente rápidos se comparados com os Smart Media e com os cartões MMC, mas são bem mais lentos que os cartões SD usados atualmente. Existiram duas atualizações para o formato: o "xD M" (que permitiu o desenvolvimento de cartões com mais de 512 MB) e o "xD H" (que melhorou a velocidade de transferência). Apesar disso, ambos acabaram sendo pouco usados, devido à concorrência dos cartões SD.
Assim como nos cartões SM, os contatos são ligados diretamente no chip de memória, sem o uso de um chip controlador. Isso em teoria baratearia os cartões, mas devido à pequena demanda (e consequentemente aos baixos volume de produção), os cartões xD são atualmente bem mais caros. Isso acaba prejudicando a competitividade das câmeras dos dois fabricantes, que perdem mercado por insistirem no padrão.



Cartões MMC: O MMC é um padrão "quase aberto", onde é necessário pagar uma taxa inicial para obter as especificações e mais um valor anual á MMC Association, além de seguir um conjunto de restrições. Os cartões MMC possuem exatamente as mesmas dimensões dos cartões SD atuais e são compatíveis com a maior parte das câmeras e outros dispositivos, além de utilizarem o mesmo encaixe que eles nos adaptadores. As únicas diferenças visíveis é que os cartões MMC são um pouco mais finos (1.4 mm, contra 2.1 mm dos SD) e possuem apenas 7 pinos, enquanto os SD possuem dois pinos extras, totalizando 9.
O maior problema é que os cartões MMC são lentos, pois utilizam um antiquado barramento serial para a transferência de dados, que transfere um bit por vez a uma freqüência máxima de 20 MHz. Em teoria, os cartões MMC poderiam transferir a até 2.5 MB/s, mas a maioria dos cartões ficam muito longe desta marca. Os cartões mais antigos utilizam um modo de transferência ainda mais lento, limitado a 400 KB/s.
Como não existe praticamente nenhuma diferença de custo entre produzir um cartão MMC ou SD, os fabricantes migraram rapidamente para o padrão mais rápido, fazendo com que o MMC entrasse em desuso. Mais recentemente foram lançados os padrões RS-MMC, MMC Plus e SecureMMC, versões atualizadas do padrão MMC, que visam reconquistar seu lugar no mercado.

Chegamos então aos dois padrões que sobreviveram à guerra: o SD, que é o padrão "parcialmente aberto", apoiado pela grande maioria dos fabricantes e o Memory Stick, o padrão proprietário da Sony.


0 comentários:

Postar um comentário