Na era de discos rígidos mecânicos, os novos dados podem ser gravados diretamente sobre os dados existentes no local de armazenamento original. A quantidade de dados que o computador solicita para gravar é exatamente a quantidade que o disco rígido grava fisicamente. Unidades de estado sólido (SSDs) funcionam de uma forma completamente diferente, o que dá origem a um fenómeno único denominado «amplificação de gravação». A amplificação de gravação é um fenómeno exclusivo do armazenamento SSD. Em termos simples, quando o computador envia um pedido de gravação para um SSD, a quantidade total de dados físicos gravados nos chips NAND flash é superior à quantidade de dados lógicos solicitados pelo sistema operativo, devido à limitação física de Flash NAND.
Imagina que queres editar o texto numa página do caderno. Mas não lhe é permitido riscar diretamente as palavras antigas. Tem de escrever o novo conteúdo em páginas em branco e marcar as páginas antigas como inúteis. À medida que as páginas em branco se esgotam, tem de reorganizar todo o caderno: copiar todo o texto ainda útil para páginas em branco num caderno novinho em folha e, em seguida, apagar todo o caderno antigo para que possa ser reutilizado mais tarde. O total de páginas que acaba por escrever é muito superior ao pequeno texto que inicialmente pretendia editar. Este trabalho extra de escrita é uma metáfora simples para a amplificação da escrita.
Métrica de avaliação principal
O valor-chave que mede a gravidade da amplificação de escrita denomina-se Fator de Amplificação de Gravação, abreviado como WAF. Segue uma fórmula fixa e clara:
WAF = Total de dados físicos gravados na memória Flash / Total de dados lógicos solicitados pelo anfitrião
Num cenário ideal, a memória flash grava exatamente a mesma quantidade de dados que o anfitrião solicita, o que resulta num valor de WAF igual a 1. No entanto, as regras físicas da memória flash NAND tornam este estado ideal quase impossível na prática. Em condições normais de funcionamento, o WAF é sempre superior a 1. Um WAF mais elevado significa uma sobrecarga interna adicional de gravação no SSD, o que acelera o desgaste da memória flash e prejudica o desempenho.
Causas fundamentais da amplificação de gravação
A amplificação de gravação não é um defeito de conceção dos SSDs. Trata-se de um resultado inevitável decorrente dos limites físicos da memória flash NAND, em combinação com os vários processos de manutenção automática que decorrem no interior da unidade.
Limitações físicas da memória flash NAND
Este é o pré-requisito básico para que a amplificação de gravação exista. Ao contrário dos discos rígidos mecânicos, que suportam a sobrescrita no próprio local, a memória flash NAND tem regras rigorosas de leitura e gravação: não é possível substituir diretamente os dados antigos no seu local de armazenamento original. É necessário apagar completamente um bloco antes de gravar novos dados nele. O que agrava ainda mais esta situação é a incompatibilidade entre a menor unidade de gravação e a menor unidade de apagamento. A menor unidade para gravar dados é uma página, semelhante a uma única folha de papel. A menor unidade para apagar dados é um bloco, que contém centenas de páginas, como um capítulo inteiro. Não é possível apagar apenas uma única página; é necessário apagar o bloco inteiro de uma só vez.
Devido a esta regra, os SSD utilizam um modelo de atualização fora do local. Quando edita um ficheiro existente, o controlador do SSD não altera a página que contém os dados antigos. Em vez disso, grava os novos dados em páginas livres e marca as páginas antigas como inválidas para posterior limpeza. Esta incapacidade de reescrever os dados na sua posição original é a origem de toda a sobrecarga adicional de gravação.
Reescritas de dados decorrentes da recolha de lixo
Recolha de lixo é a principal fonte de amplificação de gravação. À medida que os dados vão sendo guardados, o número de blocos livres no SSD diminui. O controlador executa automaticamente a recolha de lixo para libertar espaço de armazenamento utilizável. O seu fluxo de trabalho completo funciona da seguinte forma: o controlador seleciona um bloco antigo com uma elevada percentagem de páginas inválidas, lê todos os dados ainda válidos dentro do bloco, copia os dados válidos para blocos livres completamente novos e, em seguida, apaga totalmente o bloco antigo para o transformar novamente em espaço utilizável. Durante este processo de cópia de dados, nem o utilizador nem o sistema operativo enviam quaisquer novos comandos de gravação. No entanto, o SSD tem de reescrever os dados válidos automaticamente apenas para libertar espaço de armazenamento. Estas gravações internas constituem a parte principal da amplificação de gravação.
Migração de dados a partir do nivelamento de desgaste
Sobrecarga de metadados para gestão interna
Para além dos dois principais processos acima referidos, a gestão interna do SSD gera pequenas, mas contínuas, gravações adicionais. A tabela de mapeamento FTL, que traduz endereços lógicos em posições físicas na memória flash, os registos de blocos danificados, que registam áreas de armazenamento avariadas, e as tabelas de contagem de desgaste, que acompanham os ciclos de apagamento de cada bloco, são atualizados constantemente durante a leitura e gravação de ficheiros. Cada atualização consome recursos de gravação da memória flash. Tarefas adicionais, como a gravação de códigos de correção de erros (ECC) juntamente com os dados do utilizador e a movimentação de dados para substituir blocos danificados, também contribuem para o total de gravações físicas, atuando como fatores secundários na amplificação de gravação.
Fatores-chave que afetam o WAF
O valor do WAF não é fixo. Varia consideravelmente em função das especificações do hardware SSD, dos hábitos dos utilizadores e das definições do sistema. Existem cinco fatores principais que determinam se o WAF será elevado ou baixo.
Provisionamento em excesso e espaço de armazenamento livre
O «over-provisioning» (OP) refere-se ao espaço flash adicional reservado pelos fabricantes de SSDs, ao qual os utilizadores não têm acesso nem podem utilizar. Este espaço é reservado exclusivamente para tarefas internas, incluindo a recolha de lixo, o nivelamento de desgaste e a substituição de blocos danificados. Uma taxa de over-provisioning mais elevada proporciona à recolha de lixo mais blocos livres à escolha, reduz a quantidade de dados válidos que é necessário copiar por cada bloco reciclado e diminui o WAF.
Para além do over-provisioning definido de fábrica, o espaço livre nas partições do utilizador proporciona o mesmo efeito de otimização. Quando o comando TRIM está ativado, um maior espaço livre no SSD faz com que a recolha de dados inúteis funcione de forma mais eficiente. Se o SSD estiver quase cheio, os blocos livres tornam-se escassos. O controlador tem de copiar dados com muito mais frequência, e o WAF regista um pico acentuado.
Padrões de carga de trabalho de gravação
Estado do comando TRIM
Tipos de memória flash NAND
Estratégia de cache SLC
Impactos da amplificação de gravação nos SSDs
A amplificação de gravação gera uma sobrecarga oculta em segundo plano no interior dos SSDs e não aparece diretamente nos painéis de velocidade de leitura/gravação do sistema. No entanto, a longo prazo, afeta negativamente o desempenho da unidade em três áreas fundamentais: vida útil, desempenho operacional e consumo de energia, além da geração de calor.
Redução da vida útil do Flash. Este é o efeito negativo mais grave da amplificação de gravação. Cada bloco de armazenamento flash tem um limite máximo fixo de ciclos de apagamento, designado por ciclos P/E, que constitui o principal parâmetro para avaliar Vida útil da SSD. A amplificação de gravação aumenta desnecessariamente a frequência de apagamento da memória flash e acelera o esgotamento da vida útil.
Desempenho reduzido na gravação em condições reais. As cópias massivas de dados em segundo plano resultantes da amplificação de gravação ocupam a largura de banda de leitura/gravação dos canais flash e retiram recursos de hardware às tarefas normais de gravação dos utilizadores. Um WAF mais elevado significa que a unidade tem de executar mais operações internas de leitura e gravação para processar o mesmo pedido de gravação do anfitrião. Isto aumenta a latência de gravação e reduz claramente as velocidades de gravação sustentadas.
Maior consumo de energia e riscos de sobreaquecimento. Cada operação de leitura, gravação e apagamento na memória flash consome eletricidade e gera calor. Um valor mais elevado de WAF implica mais operações de cópia internas desnecessárias no SSD, o que aumenta o consumo total de energia. E, no caso de portáteis, tablets e outros dispositivos portáteis, um consumo de energia mais elevado reduz a autonomia da bateria.
Os consumidores comuns precisam de prestar atenção ao WAF?
Apenas os utilizadores que realizam muitas gravações poderão ter de estar atentos a este fator. Este grupo inclui pessoas que trabalham em edições de vídeo 4K/8K durante longas horas, transferências diárias de grandes volumes de ficheiros, tarefas de download ininterruptas e armazenamento local de bases de dados. As suas elevadas gravações diárias de dados fazem com que a amplificação de gravação acelere visivelmente o envelhecimento da memória flash.





