Performance e longevidade: Como o Kernel Linux 7.0-rc1 vai mudar a forma como seu SSD deleta arquivos

Descubra como o Kernel Linux 7.0-rc1 melhora a eficiência e a longevidade dos SSDs NVMe!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
  • O Kernel Linux 7.0-rc1 agora respeita os limites preferenciais de hardware para operações de descarte (TRIM) em SSDs NVMe.
  • A mudança reduz o "Write Amplification" e o desgaste desnecessário das células de memória flash, prolongando a vida útil do drive.
  • Desenvolvido por Caleb Sander Mateos (Pure Storage), o patch resolve inconsistências entre o sistema e a especificação NVMe 2.1.
  • O driver agora consulta campos de 32 bits (NPDGL/NPDAL) para alinhar a limpeza de dados à estrutura física real do SSD.
  • A novidade deve chegar como versão estável em maio de 2026, beneficiando inicialmente usuários de distros Rolling Release.

O desenvolvedor Caleb Sander Mateos, da Pure Storage, enviou uma série de patches para o subsistema NVMe que altera a forma como o sistema lida com a granularidade de descarte (discard_granularity). A mudança, integrada ao ciclo do Kernel Linux 7.0-rc1, permite que o sistema operacional identifique com precisão os limites preferenciais de hardware para operações de limpeza de dados, resultando em um gerenciamento de armazenamento mais eficiente e potencialmente aumentando a vida útil de drives modernos.

O que isso significa na prática

Quando você deleta um arquivo em um SSD, o sistema operacional envia um comando chamado “discard” (ou TRIM) para informar ao drive que aqueles blocos não são mais necessários. Até agora, o Kernel Linux geralmente assumia que essa operação deveria ser alinhada ao tamanho do bloco lógico do disco. No entanto, SSDs modernos possuem estruturas internas muito maiores. Com este patch, o Kernel Linux 7.0-rc1 passa a consultar campos específicos do hardware (NPDG e NPDA) para entender a “vontade” do fabricante. Na prática, isso evita que o SSD precise realizar operações extras de limpeza interna desnecessárias, o que reduz a latência de escrita e o desgaste prematuro das células de memória flash.

Vale lembrar que a configuração correta do TRIM e do descarte de blocos é um pilar fundamental para quem busca a vida útil máxima do hardware. Como já mostramos anteriormente no SempreUpdate, existem pelo menos 7 estratégias essenciais para otimizar o desempenho de SSDs NVMe no Linux que podem ser aplicadas hoje mesmo enquanto você aguarda a nova versão do kernel.

Detalhes da implementação

A implementação técnica envolve o ajuste do driver NVMe para ler a estrutura Identify Namespace de forma mais detalhada, conforme as especificações NVMe 2.0 e 2.1. O patch introduz suporte para os campos NPDGL (Namespace Preferred Deallocate Granularity Large) e NPDAL (Namespace Preferred Deallocate Alignment Large), que são versões de 32 bits capazes de descrever limites de descarte muito maiores do que os campos de 16 bits anteriores suportavam.

ParâmetroComportamento anteriorNovo comportamento no Kernel Linux 7.0-rc1
Granularidade de DescarteBaseada no tamanho do bloco lógicoBaseada nos campos NPDG/NPDGL do hardware
Alinhamento de DescarteFrequentemente ignorado ou genéricoSegue o campo NPDA/NPDAL (Preferencial do Hardware)
Compatibilidade de SpecNVMe 1.x / 2.0 básicoSuporte completo aos bits OPTPERF da Spec 2.1

A lógica de cálculo foi movida para a função nvme_update_disk_info, garantindo que, sempre que o hardware relatar capacidades de performance otimizada (bits OPTPERF), o Kernel Linux priorize esses valores em vez de usar padrões genéricos.

Curiosidades e bastidores da discussão

A discussão na LKML revelou a complexidade de interpretar as especificações técnicas da NVMe. O renomado mantenedor Christoph Hellwig chegou a descrever parte da lógica de decodificação dos novos campos como “magia negra” (black magic), devido à forma confusa como a especificação organiza os valores baseados em matrizes e índices zero. Houve também um momento de revisão crítica quando Keith Busch apontou uma redundância de código no quinto patch da série, o que levou Mateos a refinar a lógica de verificação de limites para evitar cálculos duplicados no subsistema de blocos.

Quando isso chega no meu PC?

Como o código já foi analisado e está presente na árvore de desenvolvimento do Kernel Linux 7.0-rc1, a expectativa é que a versão estável seja lançada em meados de maio de 2026. Usuários de distribuições Rolling Release, como Arch Linux e openSUSE Tumbleweed, devem receber a novidade poucos dias após o lançamento estável. Para usuários de servidores e desktops de ciclo longo (Ubuntu LTS, Fedora), a tecnologia deve aparecer nas atualizações de stack de kernel previstas para o segundo semestre de 2026.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.