Os controladores

Com exceção dos antigos cartões SmartMedia e xD, que vimos há pouco, todos os cartões de memória Flash incluem um chip controlador, que é encarregado do gerenciamento dos endereços e todas as operações de leitura e gravação, além de executarem funções
de manutenção diversas.

Os cartões atuais utilizam o sistema “wear levelling” para ampliar a vida útil das células. O grande problema é que as células de memória Flash NAND MLC suportam cerca de 10.000 operações de gravação, o que é bem pouco se comparado a outras mídias de
armazenamento. Para complicar, a maioria dos sistemas de arquivos (especialmente FAT e EXT) realizam atualizações frequentes na tabela de endereçamento da partição.

Se nada fosse feito a respeito, as gravações sucessivas iriam rapidamente inutilizar as células responsáveis pelo armazenamento da tabela, inutilizando o cartão. Graças ao wear levelling é feito uma espécie de “rodízio” dos endereços mais acessados
entre as células do cartão, evitando a fadiga de alguns endereços isolados.

Outra função é remapear os endereços defeituosos, onde um setor de uma área reservada passa a ser usado em seu lugar. Isto é muito similar ao sistema utilizado nos HDs modernos, onde a controladora também é capaz de remapear os badblocks
automaticamente.

Você pode então se perguntar como o controlador faz para descobrir os endereços defeituosos. A resposta é que, além dos dados e dos setores da área reservada, a memória armazena também alguns bytes adicionais (tipicamente 64 bytes adicionais para cada
bloco de 2048 bytes), usados para guardar códigos ECC. Estes códigos permitem não apenas identificar, mas também corrigir erros simples nos dados gravados. Como o controlador não tem como descobrir exatamente em qual célula ocorreu o erro, normalmente
todo o bloco de 2048 bytes é remapeado.

Grande parte dos cartões de memória Flash já saem de fábrica com alguns setores defeituosos remapeados (assim como os HDs). Isso permite que os fabricantes aproveitem módulos que de outra forma precisariam ser descartados, reduzindo o custo de forma
considerável.

Até certo ponto, o controlador também é responsável pelas taxas de transferência suportadas pelo cartão, já que é ele quem determina os modos de acesso e as frequências de clock suportadas. Mesmo que os chips de memória sejam suficientemente rápidos, a
taxa de transferência máxima pode ser limitada pelo controlador. Por exemplo, muitos cartões microSD utilizam controladores limitados a 20 MHz, que são capazes de transferir a, no máximo, 10 MB/s, enquanto muitos dos novos já utilizam controladores
capazes de operar a 50 MHz, como nos cartões SD regulares.

A velocidade dos cartões é comparada pelos fabricantes à velocidade dos drives de CD-ROM. Um cartão “133x” é um cartão que usa um controlador capaz de transferir a 20 MB/s, um “155x” é um cartão capaz de transferir a 25 MB/s e assim por diante. As
taxas reais são normalmente mais baixas (sobretudo nas operações de gravação), pois ficam limitadas também à velocidade dos chips, por isso não leve o índice muito a sério, ele é apenas uma ferramenta de marketing. De qualquer forma, é conveniente evitar
cartões que não fazem menção à velocidade de transferência, pois eles normalmente são limitados a 33x ou menos. Note que os cartões SDHC adotam um índice diferente, como veremos a seguir.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X