O que é o acabamento SSD?

O que é o acabamento SSD?
Os SSDs são um meio de armazenamento completamente diferente em comparação com os que existiam antes dele. Os meios magnéticos, especialmente os discos giratórios, introduziram muitos conceitos como tamanho do setor, particionamento, fragmentação etc. Algumas dessas idéias também foram emuladas no firmware dispositivos de estado sólido.

Por outro lado, novos conceitos foram introduzidos para otimizar o desempenho, a vida útil e a confiabilidade desses novos dispositivos. Um desses conceito é a operação de acabamento.

Layout de um SSD

Os SSDs são incrivelmente rápidos e estão ficando mais rápidos e mais baratos a cada ano. A confiabilidade deles também melhorou bastante desde o início. No entanto, os SSDs ainda não são tão confiáveis ​​quanto os meios magnéticos, também não são tão duráveis ​​quanto um disco rígido. De fato, os mecanismos de leitura subjacente são muito diferentes do que se vê dentro de um HDD.

Para entender os problemas que um SSD sofre e por que precisamos de operação para superar esses problemas, vejamos a estrutura do SSD primeiro. Os dados são armazenados normalmente em grupos de células de 4 KB, chamadas de páginas. As páginas são então agrupadas em grupos de 128 páginas, chamados blocos e cada bloco é de 512kb, para a maioria dos SSDs.

Você pode ler dados de uma página que contém algumas informações ou pode escrever dados em páginas limpas (sem dados preexistentes neles, apenas uma série de 1s). No entanto, você não pode substituir dados em uma página de 4kb que já foi escrita, sem substituir todos os outros 512kb.

Isso é uma conseqüência do fato de que as tensões necessárias para virar a 0 a 1 geralmente são muito mais altas que o reverso. O excesso de tensão pode potencialmente virar bits nas células adjacentes e dados corruptos.

Operação de exclusão A degradação do desempenho de um SSD

Quando os dados são considerados 'excluído' pelo sistema operacional, o SSD apenas marca todas as páginas correspondentes como inválidas, em vez de excluir os dados. Isso é bastante semelhante ao que acontece dentro de um disco rígido, os setores são marcado como livre em vez de ser fisicamente zero. Isso torna a operação de exclusão muito mais rápida.

No caso de HDDs, isso funciona muito bem. Quando novos dados precisam ser escritos, você pode substituir os dados antigos em um libertado setor sem problemas ou preocupações sobre os setores vizinhos. Os HDDs podem modificar dados no lugar.

No caso de um SSD, isso não é tão simples. Digamos que você modifique um arquivo e isso corresponde a uma alteração de uma única página de 4 KB. Quando você tenta modificar uma página de 4 KB em um SSD, todo o conteúdo de seu bloco, todo o 512 KB, precisa ler em um cache (o cache pode ser incorporado ao SSD ou pode ser a memória principal do sistema) e Em seguida, o bloco precisa ser apagado e você pode escrever os novos dados que seu alvo 4KB página. Você também terá que escrever de volta os 508kb não modificados de dados que você copiou para o seu cache.

Esses resultados aumentam o fenômeno da amplificação de gravação, onde cada operação de gravação é amplificada para uma operação de leitura-modificação-gravação para pedaços de dados que são muito maiores do que os dados reais que precisam ser implementados.

Inicialmente, esta amplificação não aparece. Seu SSD tem um desempenho muito bom no começo. Eventualmente, à medida que os blocos são preenchidos, o ponto inevitável é alcançado onde mais e mais operações de gravação começam a envolver as operações caras de leitura-modificação-gravação. O usuário começa a perceber que o SSD não está funcionando tão bem quanto inicialmente.

Os controladores SSD também tentam garantir que os dados sejam espalhados por todo o disco. Para que todas as matrizes obtenham níveis iguais de desgaste. Isso é importante porque as células de memória flash tendem a se desgastar rapidamente e, portanto, se usarmos continuamente apenas os primeiros milhares de blocos ignorando o restante do SSD, esses poucos blocos serão usados ​​em breve. A espalhamento de dados em várias matrizes também melhora seu desempenho, pois você pode ler ou escrever dados em paralelo.

No entanto, agora as gravações estão espalhadas, aumentando as chances de um bloco ter uma página. Isso acelera ainda mais o processo de degradação.

Aparar o comando e a liberação dos blocos

O comando TRIM minimiza a degradação do desempenho, aparando periodicamente as páginas inválidas. Por exemplo, o Windows 10 aparece seu SSD uma vez por semana. Todos os dados que foram marcados como excluídos pelo sistema operacional são realmente limpos das células da memória pelo controlador SSD quando essa operação é executada. Sim, ele ainda precisa passar pela operação de leitura-modificação-gravação, mas acontece apenas uma vez por semana e pode ser agendado nas horas em que seu sistema é principalmente ideal.

Na próxima vez que você quiser escrever em uma página, ela está realmente vazia e pronta para uma operação de gravação direta!

A frequência real do comando TRIM depende do tipo de sistema que você está executando. Os bancos de dados tendem a fazer muito iOS e, portanto, exigiriam um corte mais frequente. No entanto, se você fizer isso com muita frequência, as operações do banco de dados desacelerarão para o período em que a guarnição estiver em execução. É trabalho de um arquiteto do sistema encontrar o cronograma e a frequência certos.

Limitações

O comando TRIM é muito útil para atrasar a degradação do desempenho do seu dispositivo. Ajuda a manter o média desempenho do seu dispositivo. Mas isso é apenas em média.

Suponha que, se você estiver trabalhando com um documento de texto e está constantemente gravado no arquivo, editando as coisas e salvando para que você não perca nenhum progresso. As páginas que armazenam os dados do documento ainda precisarão passar pelo ciclo de leitura-modificação de leitura excruciante, porque o TRIM não é um serviço que está constantemente otimizando seu SSD. Mesmo que tenha sido executado como um serviço, o impacto do desempenho ainda será visível porque está incorporado à própria mecânica da operação de um SSD.

Também executando o acabamento SSD com muita frequência pode reduzir a longevidade do seu armazenamento. Como toda essa exclusão e ciclo de gravação desgastarão as células que renderizam os dados armazenados dentro delas-somente leitura.

Conclusão

Apesar de todas as deficiências de um SSD, ele ainda possui enormes benefícios de desempenho quando comparado com uma unidade de disco rígido tradicional. À medida que a participação de mercado para esses dispositivos mágicos cresce, mais esforços de pesquisa e engenharia serão direcionados para melhorar a tecnologia subjacente.

Os fornecedores de sistemas operacionais, os fabricantes de chips SSD e as pessoas que escrevem toda a lógica complexa de firmware se reúnem para nos dar este dispositivo incrível. Trim é apenas uma das muitas camadas de complexidade que estão embaladas lá.

Referências

  1. Anandtech e sua maravilha pesquisa e revisão de SSDs.
  2. Artigo da Wikipedia sobre Write Amplification
  3. Escreva sobre Arstechnia sobre SSDs e seus trabalhos internos