Blog Post

O comando TRIM

O comando TRIM em SSD e HD SMR

TRIM é um comando para a interface ATA (Advanced Technology Attachment) que permite ao Sistema Operacional informar ao controlador do dispositivo quais blocos de dados não estão mais em uso, permitindo que o controlador os "limpe" internamente de forma proativa, antecipando a necessidade de escrita e melhorando a eficiência do dispositivo de armazenamento.

Este padrão especifica a interface ATA entre sistemas host e dispositivos de armazenamento. Ele fornece uma interface de conexão comum para fabricantes de sistemas, integradores de sistemas, fornecedores de software e fornecedores de dispositivos de armazenamento. Padroniza não só as conexões, definindo os conectores e cabos para a interconexão física, elétrica e características lógicas dos sinais, como também os protocolos para os comandos de transporte, dados e status da interface. Por isso um HD SATA (Serial ATA), por exemplo, segue um padrão que permite funcionar em qualquer fabricante de Placa CPU e em qualquer Sistema Operacional. Todos seguem esse padrão. E o TRIM é um dos comandos presente nesse protocolo.

É uma funcionalidade crucial para a manutenção e otimização do desempenho em unidades de estado sólido (SSDs, por exemplo). Ela aborda um problema recorrente nesse tipo de dispositivo: o gerenciamento de blocos de dados já utilizados e marcados como deletados pelo Sistema Operacional.

Nos SSDs, a escrita de dados ocorre em páginas e blocos e ela é feita primeiro zerando para depois fazer a gravação. Assim é o funcionamento da memória Flash NAND: para receber uma nova gravação aquela região precisa estar zerada. Então, quando o Sistema Operacional apaga um arquivo, ele marca os blocos associados a esse arquivo como disponíveis para reutilização e após um processo de “limpeza” é que será possível escrever nestes blocos novamente.

Isso pode resultar em um fenômeno conhecido como "degradação de desempenho", no qual a escrita em blocos já utilizados se torna mais lenta à medida que o SSD fica mais cheio. É aqui que entra o TRIM.

A princípio somente os SSD e dispositivos com memória Flash (cartões de memória, por exemplo) faziam uso dele. Famílias recentes de HDs também passaram a utilizar o comando TRIM.

Qual o impacto disso na Recuperação de Dados?

Num dispositivo sem o TRIM, quando um arquivo é apagado, o Sistema Operacional marca em sua tabela de arquivos internos que aquele arquivo foi apagado e não o mostrará em sua listagem de arquivos por exemplo. Ele não limpa a região onde o arquivo está presente, somente o retira de sua listagem. Isso permite, num processo de Recuperação dos Dados que o arquivo seja recuperado em caso de necessidade.

Num dispositivo com o TRIM ativado, quando um arquivo é apagado, o Sistema Operacional informará ao dispositivo que os blocos daquele arquivo não estarão mais em uso e que eles podem ser zerados, lembre-se do processo de gravação dos SSDs – primeiro zera para depois fazer uma nova gravação. Então quando o equipamento estiver ocioso essas rotinas são ativadas, zerando todos os blocos do arquivo apagado e deixando-o pronto para receber novas gravações.

O comando TRIM

Comando TRIM ativo em um HD SMR

Neste cenário, caso precise recuperar o que foi apagado num processo de recuperação de dados, o arquivo até poderá ser recuperado, mas o seu conteúdo estará todo zerado, portanto não funcionará mais.

As empresas de recuperação de dados possuem procedimentos para parar o processo do TRIM, mas se ele já foi executado pelo dispositivo, não há mais o que se fazer.

Por isso, o recomendável em caso de perda de dados por formatar ou apagar arquivos em um dispositivo com o TRIM ativado é desliga-lo imediatamente e procurar ajuda profissional.

Posts Relacionados