TRIM para usuários avançados

No Computer! Total Issue 4/2010, testamos cinco SSDs com suporte para TRIM. Para simplificar, assumimos os locais no teste como o local onde um SSD pode armazenar dados. Na verdade, as chamadas 'páginas' e 'blocos' são usados ​​para isso. Neste artigo, veremos mais de perto como funcionam as páginas, os blocos e a relação com o TRIM.

TRIM é um comando que garante que um SSD mantenha o desempenho de gravação ideal. O funcionamento do TRIM só pode ser realmente compreendido se você conhecer a estrutura de um SSD. Um SSD armazena informações em 'páginas', que são agrupadas em um 'bloco'. Para entender esses conceitos, você deve primeiro considerar a composição dos SSDs Multi Level Cell (MLC) conforme testado no Computer! Totaal 4/2010. Um SSD MLC consiste em bilhões de células de memória, cada uma das quais pode armazenar vários bits. Uma coleção ordenada dessas células é chamada de página e é a menor unidade para armazenar ou ler um arquivo em um SSD. Uma página geralmente tem um tamanho de 4 KB. Portanto, se você salvar um arquivo de 1 KB, esse arquivo ocupará 4 KB no SSD.

blocos

Um bloco é uma unidade importante para um SSD, porque é a menor coleção de páginas que um SSD deve ler para excluir dados. Um bloco consiste em 128 dessas páginas e tem um tamanho de 512 KB. Agora, um SSD funciona como um número x de módulos de memória em uma configuração RAID. Isso significa que um arquivo é espalhado por vários módulos de memória para velocidade máxima de leitura. O Windows 'fala' com o SSD via Logical Block Addressing (LBA), rastreando quais blocos estão em uso e quais estão disponíveis. Como um SSD funciona com páginas, o controlador SSD deve traduzir os comandos do LBA. O comando do Windows para sobrescrever um arquivo é traduzido por um SSD (se possível) para gravar em uma página vazia. Se não houver páginas vazias, as páginas devem ser esvaziadas primeiro.

Atraso na escrita

Um problema ocorre quando não há páginas vazias suficientes disponíveis para armazenar um arquivo, quando há mais do que espaço disponível de acordo com o índice do Windows. Afinal, um arquivo nunca é realmente excluído quando o comando é dado. Isso só acontece quando o espaço ocupado pelo arquivo em questão é sobrescrito por novos dados. Um problema com isso é que um SSD não pode sobrescrever diretamente as páginas que contêm partes de arquivos que não estão mais em uso. Um SSD deve primeiro ler os blocos e colocá-los em seu próprio cache, porque os dados só podem ser excluídos lá. As páginas em cache são esvaziadas e, em seguida, todo o bloco de páginas vazias é restaurado para o SSD, após o que essas páginas ficam disponíveis para novos dados. Isso retarda o processo de escrita por um fator de três ou mais.

aparar

O salvador para essas situações é TRIM. Este é um comando que o Windows 7 envia ao SSD durante uma limpeza. Este comando informa ao controlador do SSD quais páginas podem realmente ser excluídas e configura o SSD para funcionar lendo blocos e esvaziando as páginas que estão cheias de arquivos (que o Windows diz que podem ser sobrescritos). Dessa forma, um SSD permanece em condições ideais por ter páginas vazias suficientes em estoque e um trabalho de gravação sempre pode ser executado de maneira ideal. Mostraremos passo a passo o que acontece quando um SSD grava e exclui arquivos e como o TRIM garante que sempre haja páginas livres suficientes.

1. SSD em branco

Imagine que temos um SSD com capacidade de armazenamento de exatamente 1 bloco. Um bloco vazio de 512 KB no SSD consiste em 128 páginas vazias de 4 KB.

2. Grave o arquivo

Queremos escrever um arquivo de 12 KB, que preenche 3 páginas de 4 KB (azul).

3. Grave outro arquivo

Em seguida, queremos salvar outro arquivo de 8 KB (roxo). No total, colocamos 20 KB em uso. Portanto, ainda temos 512 KB - 20 KB = 492 KB livres ou 123 páginas livres.

4. Excluir arquivo

Agora vamos deletar o arquivo de 8 KB (roxo). De acordo com o Windows, nosso SSD ainda tem 512 KB - 12 KB = 500 KB disponíveis. No entanto, nosso SSD ainda registra 123 páginas vazias e 2 páginas de dados que podem ser excluídos.

5. Grave o arquivo

Agora estamos escrevendo 4 KB (verde). As duas páginas contendo informações de "dados a serem excluídos" são ignoradas pelo SSD. Primeiro, as páginas vazias são preenchidas.

6. TRIM no trabalho

Com suporte para TRIM, o Windows 7 envia o comando TRIM junto com uma ação de exclusão. Dessa forma, o controlador do SSD sabe que esses dados podem realmente ser excluídos. Quando o SSD não tem nada a fazer por um tempo, o SSD moverá o bloco completo de 512 KB, parte do qual foi designado como deletado pelo comando TRIM, para a memória cache. Aqui, o arquivo excluído pelo comando TRIM (roxo) será realmente excluído.

7. As páginas serão excluídas

Agora as 2 páginas podem ser esvaziadas e todo o bloco pode ser colocado de volta. Você provavelmente pode imaginar que, quando for deletar um arquivo de 10 MB, teremos que deletar um total de 2560 páginas. Se eles também forem divididos em blocos diferentes, muitos dados terão que ser lidos. Mesmo que um bloco contenha apenas 4 KB do arquivo, 512 KB devem ser lidos para excluir a parte de 4 KB. O TRIM garante que isso aconteça quando você não estiver usando o SSD.

8. Espaço livre novamente

Agora as 2 páginas estão prontas para serem escritas novamente.

9. Grave o arquivo para liberar espaço

Se um arquivo de 12 KB for salvo agora, há páginas suficientes para salvar o arquivo (laranja).

Postagens recentes

$config[zx-auto] not found$config[zx-overlay] not found