Pagina inicial » como » Por que as unidades de estado sólido diminuem à medida que você as preenche

    Por que as unidades de estado sólido diminuem à medida que você as preenche

    Os benchmarks são claros: os drives de estado sólido ficam mais lentos à medida que você os preenche. Preencha sua unidade de estado sólido para quase capacidade e seu desempenho de gravação diminuirá drasticamente. A razão pela qual reside no modo como o trabalho de armazenamento em SSDs e NAND Flash.

    Preencher a unidade para capacidade é uma das coisas que você nunca deve fazer com uma unidade de estado sólido. Uma unidade de estado sólido quase cheia terá operações de gravação muito mais lentas, tornando o computador mais lento.

    Blocos Vazios e Blocos Parcialmente Cheios

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

    Eles não ficam sentados em uma unidade de estado sólido - o TRIM garante que o bloco seja esvaziado para que o SSD possa gravar rapidamente 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 mecânico, mas um drive de estado sólido deve apagar um bloco antes de gravar nele..

    A memória Flash NAND grava dados em páginas de 4 KB dentro de blocos de 256 KB. Para adicionar páginas adicionais a um bloco parcialmente preenchido, a unidade de estado sólido deve apagar todo o bloco antes de gravar os dados nele..

    À medida que sua unidade de estado sólido é preenchida, cada vez menos blocos vazios ficam disponíveis. Em seu lugar são blocos parcialmente preenchidos. A unidade de estado sólido não pode simplesmente gravar os novos dados nesses blocos parcialmente preenchidos - isso apagaria os dados existentes. Em vez de uma simples operação de gravação, a unidade de estado sólido precisa ler o valor do bloco em seu cache, modificar o valor com os novos dados e, em seguida, gravá-lo novamente. Tenha em mente que escrever um arquivo provavelmente envolverá a gravação em vários blocos, portanto, isso pode introduzir uma quantidade significativa de atraso adicional.

    O TRIM não consolida blocos parcialmente preenchidos

    Se você preencher uma unidade com capacidade ou capacidade próxima, é provável que você acabe com muitos blocos parcialmente preenchidos depois de excluir arquivos. O comando TRIM apenas direciona uma unidade de estado sólido para remover os 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 capacidade antes de excluir arquivos e você provavelmente acabará com muitos blocos parcialmente preenchidos. A unidade não vai sair do caminho para consolidar esses blocos parcialmente preenchidos em blocos completos, liberando blocos vazios. O drive ainda estará cheio de blocos parcialmente preenchidos e o desempenho de gravação será degradado.

    Superprovisionamento e coleta de lixo

    Para evitar que os consumidores encham suas unidades de estado sólido e acabem com um desempenho severamente degradado, os fabricantes de SSDs estão fazendo de tudo para combater isso.

    Unidades de estado sólido de nível de consumidor geralmente reservam cerca de 7% de seu armazenamento flash total e o 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 armazenamento disponível que pode ser usado. A área de reserva garante que a unidade nunca fique completamente cheia - sempre haverá alguma capacidade extra para ajudar a manter o desempenho de gravação estável.

    O controlador de cada unidade de estado sólido possui um algoritmo de coleta de lixo para tentar atenuar esse problema. Quando a unidade ficar cheia, ela procurará blocos parcialmente preenchidos e começará a consolidá-los, liberando o maior número possível de blocos vazios. Diferentes unidades de estado sólido executam essas operações em diferentes momentos e limites - isso depende do controlador da unidade.

    Evidência de referência

    A Anandtech executou uma variedade de benchmarks com diferentes drives para desvendar a relação entre a área sobressalente de um drive de estado sólido e a consistência de seu desempenho na operação de gravação. Ao preencher uma unidade vazia, eles encontraram um alto desempenho de gravação no início do processo e uma queda significativa à medida que as operações de gravação continuavam a encher a unidade.

    Deixar de lado mais área de reposição nas unidades ajudou o desempenho a permanecer consistente, pois garantiu que a unidade sempre tivesse blocos vazios suficientes prontos.

    Eles descobriram que “o desempenho mínimo melhora substancialmente quando você atinge 25% de área de reposição para essas unidades [de consumo]”. Sua recomendação final era que você planejasse usar apenas 75% da capacidade da sua unidade se quiser um bom equilíbrio. entre consistência e capacidade de desempenho ”.


    Se você tiver uma unidade de estado sólido, tente evitar o uso de mais de 75% de sua capacidade. Compre uma unidade maior com mais armazenamento do que o necessário e você garantirá sempre um desempenho de gravação consistente. Felizmente, os SSDs estão gradualmente se tornando muito mais baratos, então isso não é tão caro quanto antes.

    Crédito de imagem: Music Sorter no Wikimedia Commons, Simon Wüllhorst no Flickr