Várias fontes (mas não muito recentes) sugerem que aproximadamente 7% do espaço do SSD não seja alocado para reduzir o desgaste da unidade. Ainda é válido por enquanto ou a situação mudou?
Várias fontes (mas não muito recentes) sugerem que aproximadamente 7% do espaço do SSD não seja alocado para reduzir o desgaste da unidade. Ainda é válido por enquanto ou a situação mudou?
Respostas:
O Windows geralmente usa o TRIM. Isso significa que, enquanto você tiver X% de espaço livre no sistema de arquivos, a unidade verá X% como não alocado. [*] O provisionamento em excesso não é necessário.
Exceção: historicamente, os SSDs com controladores / firmware Sandforce não restauraram o desempenho completo após o TRIM :(.
A perda de desempenho na unidade completa pode ser significativa e mais do que em outras unidades. Isso será associado à alta amplificação de gravação e, portanto, aumenta o desgaste. Fonte: Anandtech reviews.
Portanto, é necessário se e somente se
Não é muito difícil habilitar o TRIM no Linux, e é improvável que você note problemas.
Felizmente, várias das marcas mais populares fazem seu próprio controlador. Os controladores Sandforce não são tão populares como costumavam ser. Os problemas do Sandforce me deixam cético em relação ao design específico do controlador "inteligente", que foi muito agressivo para a época. Desculpas ao Sandforce, mas não tenho uma referência para os modelos exatos de controladores afetados.
[*] Os sistemas de arquivos também gostam de ter bastante espaço livre para reduzir a fragmentação. Portanto, o TRIM é ótimo, porque você não precisa adicionar duas margens de segurança, o mesmo espaço livre ajuda os dois :). A unidade pode aproveitar o espaço não alocado para melhorar o desempenho, além de evitar alto desgaste, como você diz.
Os controladores SSD modernos são inteligentes o suficiente para que o provisionamento em excesso não seja normalmente necessário para o uso diário. No entanto, ainda existem situações, principalmente em ambientes de datacenter, onde o aprovisionamento excessivo é recomendado. Para entender por que o provisionamento em excesso pode ser útil, é necessário entender como os SSDs funcionam.
Os SSDs usam um tipo de memória chamada memória flash NAND . Ao contrário dos discos rígidos, as células NAND que contêm dados não podem ser substituídas diretamente; a unidade precisa apagar os dados existentes antes de poder gravar novos dados. Além disso, enquanto os SSDs gravam dados em páginas com tamanho tipicamente de 4 a 16 KB, eles podem apenas apagar dados em grandes grupos de páginas chamados de blocos , normalmente de centenas de KB a vários MBs em SSDs modernos.
A NAND também possui uma quantidade limitada de resistência à gravação . Para evitar a reescrita de dados desnecessariamente, a fim de apagar blocos e garantir que nenhum bloco receba um número desproporcional de gravações , a unidade tenta espalhar gravações, especialmente gravações aleatórias pequenas, em diferentes blocos. Se as gravações substituírem dados antigos, marcará as páginas antigas como inválidas. Quando todas as páginas de um bloco são marcadas como inválidas, a unidade fica livre para apagá-la sem precisar reescrever dados válidos.
Se a unidade tiver pouco ou nenhum espaço livre restante, não será possível distribuir gravações. Em vez disso, a unidade precisará apagar os blocos imediatamente, à medida que as gravações forem enviadas para a unidade, reescrevendo quaisquer dados válidos dentro desses blocos em outros blocos. Isso resulta em mais dados sendo gravados no NAND do que os enviados ao inversor, um fenômeno conhecido como amplificação de gravação . A amplificação de gravação é especialmente pronunciada com cargas de trabalho com uso intenso de gravação aleatória, como OLTP (processamento de transações on-line) , e precisa ser mantida no mínimo, pois resulta em desempenho e resistência reduzidos.
Para reduzir a amplificação de gravação, a maioria dos sistemas modernos oferece suporte a um comando chamado TRIM , que informa à unidade quais blocos não contêm mais dados válidos para que possam ser apagados. Isso é necessário porque, caso contrário, a unidade precisaria assumir que os dados excluídos logicamente pelo sistema operacional ainda são válidos, o que dificulta a capacidade da unidade de manter espaço livre adequado.
No entanto, o TRIM às vezes não é possível, como quando a unidade está em um gabinete externo (a maioria dos gabinetes não suporta o TRIM) ou quando a unidade é usada com um sistema operacional mais antigo. Além disso, sob cargas de trabalho de gravação aleatória altamente intensivas, as gravações serão distribuídas por grandes regiões da NAND subjacente, o que significa que a reescrita forçada dos dados e a amplificação de gravação do atendente podem ocorrer mesmo se a unidade não estiver quase cheia.
Os SSDs mais antigos tinham firmware muito menos maduro que tenderia a reescrever dados com muito mais frequência do que o necessário. Os primeiros controladores Indilinx e JMicron ( o JMF602 era famoso por gaguejar e abismalmente o desempenho de gravação aleatória ) sofriam de uma amplificação de gravação extremamente alta sob cargas de trabalho intensivas de gravação aleatória, às vezes excedendo 100x. (Imagine escrever mais de 100 MB de dados no NAND quando estiver apenas tentando gravar 1 MB!). Controladores mais novos, com o benefício de maior poder de processamento, algoritmos aprimorados de gerenciamento de flash e suporte a TRIM, são muito mais capazes de lidar com essas situações, embora cargas de trabalho pesadas de gravação aleatória ainda possam causar amplificação de gravação acima de 10x nos SSDs modernos .
O excesso de provisionamento fornece à unidade uma região maior de espaço livre para lidar com gravações aleatórias e evitar a reescrita forçada dos dados. Todos os SSDs são provisionados em excesso em pelo menos algum grau mínimo; alguns usam apenas a diferença entre GB e GiB para fornecer cerca de 7% de espaço livre para a unidade trabalhar, enquanto outros têm mais aprovisionamento para otimizar o desempenho para as necessidades de aplicativos específicos. Por exemplo, um SSD corporativo para cargas de trabalho OLTP ou banco de dados com gravação pesada pode ter 512 GiB de NAND físico e ainda ter uma capacidade anunciada de 400 GB, em vez dos 480 a 512 GB típicos de SSDs de consumo com quantidades semelhantes de NAND.
Se sua carga de trabalho for particularmente exigente ou se você estiver usando a unidade em um ambiente em que o TRIM não é suportado, você poderá provisionar espaço em excesso manualmente, particionando a unidade para que algum espaço não seja utilizado. Por exemplo, você pode particionar um SSD de 512 GB a 400 GB e deixar o espaço restante não alocado, e a unidade usará o espaço não alocado como espaço livre. Observe, no entanto, que esse espaço não alocado deve ser aparado se tiver sido gravado anteriormente; caso contrário, não terá nenhum benefício, pois a unidade verá esse espaço ocupado. (Os utilitários de particionamento devem ser inteligentes o suficiente para fazer isso, mas não tenho 100% de certeza; consulte "O Windows corta espaço não particionado (não formatado) em um SSD?" )
Em ambientes típicos de consumo nos quais o TRIM é suportado, o SSD está com menos de 70 a 80% de capacidade e não fica continuamente sobrecarregado com gravações aleatórias, a amplificação de gravação normalmente não é um problema e o provisionamento excessivo geralmente não é necessário.
Por fim, a maioria dos consumidores não gravará dados suficientes no disco para desgastar o NAND dentro da vida útil prevista da maioria dos SSDs, mesmo com alta amplificação de gravação, portanto, não é algo para perder o sono.
O tamanho do espaço adicional difere muito entre os modelos de unidades SSD, mas em geral isso ainda é verdade.