blank blank

Ciclos de gravação e a questão da longevidade

Um dos grandes problemas com as células de memória Flash é a longevidade. Diferente dos platters de um HD, que podem ser regravados alguns milhões de vezes (o desgaste está mais relacionado ao tempo de uso e a danos físicos
e não ao número de regravações), as células de memória Flash têm uma vida útil estimada em 100.000 regravações no caso dos chips SLC e apenas 10.000 regravações no caso dos MLC.

Os chips SLC são a tecnologia original de chips de memória flash NAND, onde cada cada célula armazena um único bit, salvo na forma de um impulso elétrico (1 ou 0). As células MLC armazenam dois bits, utilizando 4 níveis de
tensão diferentes. O uso do MLC permite produzir chips com o dobro da capacidade sem praticamente nenhum custo adicional, mas por outro lado resulta em chips mais lentos (principalmente nas operações de escrita) e menos duráveis.

Como sempre, a questão do custo acaba falando mais alto, o que faz com que os chips MLC sejam os utilizados em praticamente todos os cartões de memória e pendrives (com exceção de alguns modelos de alto desempenho) e também
na esmagadora maioria dos SSDs de baixo e médio custo, o que nos leva ao problema das 10.000 regravações.

Em um cartão de memória ou mesmo em um pendrive, este número não parece tão preocupante, já que, mesmo que enchesse o cartão da sua câmera todos os dias, você demoraria 30 anos para atingir as 10.000 regravações. Em um SSD,
por outro lado, a coisa é um pouco mais séria, já que não apenas o volume de operações é muito maior (principalmente se for usada memória swap) mas também a importância dos dados armazenados é muito maior.

Para evitar que algumas áreas (como no caso de áreas usadas como swap) falhem prematuramente, inutilizando o disco, os fabricantes utilizam sistemas de wear leveling (distribuição de uso), que alteram os setores
usados cada vez que arquivos são criados ou alterados. Em outras palavras, sempre que o conteúdo de um bloco é modificado, o controlador simplesmente lê os dados, faz a alteração e grava o conteúdo em um novo bloco.

Isso faz com que o bloco anterior seja novamente utilizado apenas depois que todos os outros blocos do SSD forem utilizados pelo menos uma vez. Note que o wear leveling se encaixa bem com os algoritmos para evitar as
penalidades de escrita.

Com 10.000 operações de escrita por bloco, um SSD de 80 GB teria uma vida útil estimada em 800 TB de gravações, o que é um número difícil de atingir em situações normais, já que você precisaria gravar 40 GB de dados todos os
dias por 60 anos para atingir a marca.

Entretanto, na prática, a vida útil é menor devido a um outro fator, o write amplification, que é causado pela questão dos blocos. Enquanto o controlador está gravando grandes arquivos isso não é um problema, já que
eles serão quebrados em pedaços de 512 KB e cada um ocupará um bloco inteiro. O grande problema é a gravação de arquivos pequenos, onde existe a possibilidade de ter que apagar e em seguida regravar um bloco inteiro para salvar um arquivo de apenas 4 KB
(ou menos).

No pior caso possível o write amplification seria de 128x (gravar um bloco inteiro para alterar uma única página), mas em situações reais ele é estimado em de 20x a 40x (ou seja, para cada 8 GB de dados, a controladora
acabaria escrevendo um total de 160 a 320 GB de dados nas células de memória).

Nos drives atuais, porém, o cenário não é tão sombrio, pois graças ao uso de sistemas inteligentes de redução (combinação de escritas e outras técnicas), os controladores são capazes de reduzir bastante este número. A Intel
por exemplo promete (embora não garanta) valores de até 1.1x nos SSDs da série X25.

Como são obrigados a levar vários fatores em conta e oferecer uma estimativa mínima do quanto o SSD vai durar, os fabricantes adotam posturas bem mais conservadoras, estimando a vida útil do SSD em de 5 a 10 anos de uso
intenso, o que é, de qualquer forma, bem mais que a média dos HDs magnéticos. As células de memória flash são também capazes de preservar os dados por pelo menos 10 anos sem receberem alimentação elétrica, o que também é uma boa marca.

A questão da capacidade: Assim como no caso dos chips de memória, a capacidade dos chips de memória Flash é medida em valores binários e não em decimais (como no caso dos HDs). Com isso, um chip de 8 GB armazena
8.589.934.592 bytes, e não 8.000.000.000.

Entretanto, os fabricantes adotam a nomenclatura decimal, assim como os fabricantes de HDs, reduzindo o espaço utilizável do disco. Um SSD de 80 GB passa a ter então apenas 80 bilhões de bytes, ou seja, apenas 74.5 GB
binários, assim como em um HD magnético.

Os 5.5 GB restantes são usados pelo controlador como uma área reservada (spare area). Ela tem basicamente duas funções: servir como uma área de armazenamento temporário para novos dados, permitindo que o controlador grave
informações imediatamente mesmo que não tenha setores limpos disponíveis e, mais importante, permite que o controlador remapeie páginas defeituosas.

Como sempre, as 10.000 operações de escrita são apenas uma estimativa. Dentro do SSD, algumas células podem falar muito antes, enquanto outras acabam resistindo a um volume muito maior de escritas. A área reservada permite
que o controlador substitua as páginas conforme os defeitos aparecem, fazendo com que a longevidade do HD seja muito maior. Graças a isso, o sistema começará a acusar setores defeituosos apenas depois que o SSD já tiver 7% (5.5 GB no caso de um SSD de 80
GB) de páginas defeituosas.

Sobre o Autor

Redes Sociais:

Deixe seu comentário