16Aug

Por que as unidades de estado sólido diminuem a velocidade ao preenchê-las

click fraud protection

Os benchmarks são claros: as unidades de estado sólido diminuem a velocidade ao preenchê-las. Preencha sua unidade de estado sólido para capacidade próxima e seu desempenho de gravação diminuirá dramaticamente. A razão pela qual reside na forma como funcionam os SSD e o armazenamento flash NAND.

O preenchimento da unidade para a capacidade é uma das coisas que você nunca deve fazer com uma unidade de estado sólido. Uma unidade de estado sólido quase total terá operações de gravação muito mais lentas, diminuindo a velocidade do seu computador.

Blocos vazios e blocos parcialmente preenchidos

Quando você escreve um arquivo em sua unidade de estado sólido, procura blocos vazios e os enche. Escrever para um bloco vazio é a operação de gravação mais rápida possível.É por isso que os novos sistemas operacionais( Windows 7 e posteriores) suportam o recurso TRIM, que exclui automaticamente os dados de um arquivo da unidade de estado sólido assim que você exclui o arquivo em seu sistema operacional. Isso funciona de forma diferente dos discos rígidos magnéticos, onde bits de arquivos excluídos se sentam no disco rígido.

instagram viewer

Eles não se sentam em uma unidade de estado sólido - a TRIM garante que o bloco seja esvaziado para que o SSD possa rapidamente escrever novos dados no bloco vazio no futuro. Escrever sobre um setor já escrito é tão rápido quanto escrever para um setor vazio em um disco rígido mechnical, mas uma unidade de estado sólido deve apagar um bloco antes de escrever para ele.

NAND A memória flash grava dados em páginas de 4 KB dentro de blocos de 256 KB.Para adicionar páginas adicionais a um bloco parcialmente cheio, a unidade de estado sólido deve apagar todo o bloco antes de escrever dados de volta para ele.

À medida que sua unidade de estado sólido se enche, cada vez menos blocos vazios estão disponíveis. Em seu lugar são blocos parcialmente preenchidos. A unidade de estado sólido não pode apenas escrever os novos dados para esses blocos parcialmente preenchidos - que apagariam os dados existentes. Em vez de uma simples operação de gravação, a unidade de estado sólido deve ler o valor do bloco em seu cache, modificar o valor com os novos dados e depois gravá-lo novamente. Tenha em mente que escrever um arquivo provavelmente envolverá a escrita em muitos blocos, então isso pode introduzir uma quantidade significativa de atraso adicional.

TRIM não consolida blocos parcialmente preenchidos

Se você preencher uma unidade para capacidade ou capacidade próxima, é provável que você acabe com muitos blocos parcialmente preenchidos depois de excluir arquivos. O comando TRIM apenas dirige uma unidade de estado sólido para remover dados do arquivo quando o arquivo é excluído. Não força a unidade a fazer qualquer tipo de operação de limpeza.

Em outras palavras, preencha uma unidade de estado sólido para a capacidade antes de excluir arquivos e provavelmente irá acabar com muitos blocos parcialmente preenchidos. A unidade não fará o seu caminho para consolidar esses blocos parcialmente preenchidos em blocos completos, liberando blocos vazios. A unidade ainda estará cheia de blocos parcialmente preenchidos e o desempenho de gravação será degradado.

Sobreprovisionamento e coleta de lixo

Para evitar que os consumidores preencham suas unidades de estado sólido e acabem com um desempenho gravemente degradado, os fabricantes de SSD estão se desviando para contrariar isso.

As unidades de estado sólido de nível consumidor geralmente reservam cerca de 7% de seu armazenamento flash total e tornam indisponível para o usuário. Isso é conhecido como "superprovisionamento" - hardware de armazenamento extra é adicionado à unidade, mas não é visível para o computador como o armazenamento disponível que pode usar. A área de reposição garante que a unidade nunca pode ficar completamente cheia - sempre haverá alguma capacidade disponível para ajudar a manter o desempenho de gravação estável.

Cada controlador de unidade de estado sólido possui um algoritmo de coleta de lixo para tentar mitigar esse problema. Quando a unidade fica cheia, procurará blocos parcialmente cheios e começará a consolidá-los, liberando tantos blocos vazios quanto possível. Diferentes unidades de estado sólido executam essas operações em diferentes horários e limiares - isso depende do controlador da unidade.

Benchmark Evidence

A Anandtech realizou uma variedade de benchmarks com diferentes unidades para provocar a relação entre a área de reposição de uma unidade de estado sólido e a consistência do desempenho da operação de gravação. Ao preencher uma unidade vazia, eles encontraram alto desempenho de gravação muito cedo no processo e uma queda significativa à medida que as operações de gravação continuaram a preencher a unidade.

Deixar de lado mais área sobressalente nas unidades ajudou o desempenho a permanecer consistente, pois garantiu que a unidade deve sempre ter blocos vazios suficientes.

Eles descobriram que "o desempenho mínimo melhora substancialmente uma vez que você atinja a área de reposição de 25% para essas unidades [consumidor]". Sua recomendação final era que você deveria "planejar usar apenas cerca de 75% da capacidade [da sua unidade] se desejar um bomequilíbrio entre consistência de desempenho e capacidade. "

Se você possui uma unidade de estado sólido, você deve tentar evitar o uso de mais de 75% de sua capacidade. Compre uma unidade maior com mais armazenamento do que você precisa e você irá garantir que você sempre tenha um desempenho de gravação consistente. Por sorte, os SSDs gradualmente se tornam muito mais baratos, então isso não é tão caro quanto antes.

Image Credit: Classificador de música no Wikimedia Commons, Simon Wüllhorst no Flickr