Windows 11, NVMe e BypassIO: Entenda a Nova Pilha de Storage e a Redução de Latência

      Roberto Holanda 8 min de leitura
      Windows 11, NVMe e BypassIO: Entenda a Nova Pilha de Storage e a Redução de Latência

      O Windows 11 mudou a forma de falar com SSDs. Entenda o BypassIO, DirectStorage e como a remoção de camadas legadas na pilha de I/O reduz a latência real.

      Compartilhar:

      Temos drives NVMe Gen5 entregando 14 GB/s e milhões de IOPS, mas o tempo de boot do Windows e o carregamento de aplicações pesadas não escalaram na mesma proporção. A física do hardware mudou drasticamente, mas o software — especificamente a pilha de I/O do sistema operacional — permaneceu preso em abstrações desenhadas para discos rígidos que giravam a 7200 RPM.

      Como engenheiros de performance, sabemos que adicionar largura de banda (throughput) não resolve problemas de latência. O gargalo saiu do meio físico (o NAND Flash) e migrou para a CPU e para a burocracia do Kernel. É aqui que entra o BypassIO no Windows 11: uma tentativa cirúrgica de remover a gordura acumulada em 30 anos de desenvolvimento do subsistema de armazenamento.

      Neste artigo, vamos dissecar essa nova arquitetura, não com promessas de marketing, mas analisando o caminho do dado, como auditá-lo e quais os reais custos operacionais dessa mudança.


      O que é BypassIO? BypassIO é um caminho de execução otimizado no subsistema de armazenamento do Windows 11 que permite que operações de leitura e escrita pulem a execução de drivers de filtro do sistema de arquivos (como antivírus, parsers e ferramentas de criptografia legadas). Ao reduzir a sobrecarga da CPU na pilha de I/O, ele diminui drasticamente a latência e é o pré-requisito fundamental para tecnologias como DirectStorage.


      O Gargalo da Pilha de Storage Clássica (Win32) e NVMe

      Para entender a solução, precisamos quantificar o problema. Na pilha de armazenamento tradicional do Windows (a rota Win32 clássica), uma solicitação de leitura de um arquivo não vai direto do seu programa para o SSD. Ela passa por uma longa cadeia de comando:

      1. System Calls: Transição de User Mode para Kernel Mode.

      2. Gerenciador de I/O e Sistema de Arquivos (NTFS): Onde reside a lógica de onde os dados estão.

      3. Pilha de Filtros (Filter Stack): O grande vilão da latência moderna. Drivers de antivírus, agentes de DLP, drivers de backup e criptografia interceptam cada pacote de I/O para inspecioná-lo.

      4. Camada de Tradução (Storport): Muitas vezes, comandos precisam ser traduzidos ou encapsulados, tratando um dispositivo NVMe como se fosse um dispositivo SCSI legado para manter compatibilidade.

      Em um HDD com latência de 8 milissegundos (ms), perder 30 microssegundos (µs) na CPU para processar esses filtros é irrelevante. É erro de arredondamento.

      Porém, em um SSD NVMe moderno com latência de hardware de 50µs, gastar 30µs na pilha de software significa que o sistema operacional é responsável por quase 40% da latência total da operação. Você comprou um hardware de Ferrari, mas o Windows colocou quebra-molas a cada 10 metros.

      Comparativo da Pilha de I/O: O caminho padrão vs. a rota otimizada do BypassIO no Windows 11. Figura: Comparativo da Pilha de I/O: O caminho padrão vs. a rota otimizada do BypassIO no Windows 11.

      BypassIO Explicado: Pulando a Taxa de Filtros

      O BypassIO não é mágica; é uma negociação. Quando um arquivo é aberto com a flag de BypassIO, o sistema operacional pergunta a todos os drivers na pilha de filtros: "Vocês realmente precisam ver os dados deste arquivo?".

      Se a resposta for "não", o I/O subsequente ignora esses filtros e vai quase diretamente do Subsistema de I/O para o driver do disco.

      A redução de latência vem da eliminação de:

      • Alocações de memória desnecessárias.

      • Cópias de buffer (Buffer Copies).

      • Ciclos de CPU gastos em drivers que não fazem nada com aquele I/O específico.

      Isso muda o perfil de carga. Em testes sintéticos, a pilha clássica pode consumir 100% de um núcleo de CPU para empurrar 5 GB/s. Com BypassIO, a utilização da CPU cai drasticamente, liberando o processador para o que realmente importa (renderizar frames de um jogo ou processar dados de uma aplicação).

      Tabela Comparativa: Win32 Clássico vs. BypassIO

      Característica Pilha Win32 Clássica Pilha BypassIO
      Caminho do I/O Atravessa todos os filtros (AV, Criptografia, Logs) Pula filtros não essenciais
      Custo de CPU Alto (overhead por pacote I/O) Baixo (foco no hardware)
      Latência (End-to-End) Variável (depende da carga dos filtros) Determinística e próxima do hardware
      Principal Caso de Uso Uso geral, SO, Arquivos de Produtividade Games (DirectStorage), Streaming de Assets
      Segurança Inspeção profunda padrão Inspeção seletiva (risco calculado)

      DirectStorage além do Hype: A Conexão com a GPU

      É crucial diferenciar o transporte da carga. BypassIO é a estrada expressa. DirectStorage é o veículo.

      Muitos confundem os termos. O DirectStorage é uma API (parte do DirectX) que utiliza o BypassIO para buscar dados rapidamente. Mas a "mágica" completa acontece quando unimos isso à descompressão via GPU.

      Historicamente, o fluxo de carregamento de um jogo é:

      1. Ler dados comprimidos do disco para a RAM (CPU alta via Win32).

      2. CPU descomprime os dados (Gargalo de thread única).

      3. CPU copia dados descomprimidos para a VRAM da GPU.

      Com BypassIO + DirectStorage + GPU Decompression:

      1. Dados comprimidos voam do NVMe para a RAM do sistema (via BypassIO, baixo custo de CPU).

      2. Dados são transferidos para a VRAM.

      3. A GPU (que é massivamente paralela) descomprime os dados instantaneamente.

      Isso só é possível porque o BypassIO garante que o fluxo de dados seja rápido o suficiente para alimentar a fome da GPU. Sem o BypassIO, a GPU ficaria ociosa esperando a pilha de software do Windows processar interrupções.

      Auditando sua Máquina com fsutil

      Como engenheiros, não assumimos que funciona; nós verificamos. O Windows 11 traz ferramentas nativas para diagnosticar se o seu armazenamento suporta BypassIO e, mais importante, qual driver está bloqueando a funcionalidade.

      O comando chave é o fsutil bypassIo. Ele permite consultar o estado da unidade.

      Execute o seguinte comando em um terminal com privilégios de Administrador:

      fsutil bypassIo state c:
      

      A saída irá listar detalhadamente o status. O que você procura é a seção "Storage Driver" e a lista de filtros.

      Auditoria de Storage: Usando o fsutil para identificar gargalos na implementação do BypassIO. Figura: Auditoria de Storage: Usando o fsutil para identificar gargalos na implementação do BypassIO.

      Interpretando o Resultado

      1. Storage Driver: Se aqui disser "Not Supported", seu driver NVMe é antigo ou genérico demais. Atualize para o driver do fabricante (Samsung, WD, etc.) ou garanta que o driver padrão da Microsoft esteja atualizado.

      2. Filter Drivers: Esta é a parte crítica. Você verá uma lista de drivers.

        • Supported: O driver sabe lidar com BypassIO e sairá do caminho.
        • Not Supported: O driver não aceita ser ignorado. Se houver UM único driver "Not Supported" na pilha, o BypassIO é desativado para todo o volume.

      É comum encontrar antivírus de terceiros ou ferramentas de "otimização" antigas bloqueando o BypassIO. A solução técnica é atualizar o software ou removê-lo em favor de soluções compatíveis.

      A Realidade da Performance e Trade-offs de Segurança

      Onde essa redução de latência aparece nos gráficos? Não olhe para a taxa de transferência sequencial máxima (os famosos 7000 MB/s). Isso é métrica de caixa de produto.

      O ganho real do BypassIO está na Leitura Aleatória 4K com Queue Depth (QD) baixa.

      • O Cenário Real: O carregamento de texturas em mundos abertos ou a leitura de bancos de dados vetoriais não são um único arquivo gigante; são milhares de pequenas leituras.

      • O Impacto: Ao remover o overhead de software, o tempo de serviço de cada pequena leitura cai. Isso melhora o "pacing" de frames em jogos e a responsividade de aplicações pesadas.

      O Dilema da Segurança

      O trade-off existe. Ao usar BypassIO, você está, por definição, dizendo que o Antivírus não deve inspecionar aquele fluxo de dados em tempo real.

      A Microsoft mitiga isso limitando o escopo. O BypassIO não é ativado para o sistema inteiro o tempo todo. Ele é ativado por arquivo (file handle). Um jogo solicita BypassIO para seus arquivos de dados (.pak, .bin), mas o executável do jogo (.exe) e downloads da internet continuam passando pela pilha de filtros completa.

      Veredito Operacional: Para máquinas de alta performance e workstations, garantir que o drive de "Assets" ou "Games" esteja limpo de filtros legados é essencial. Para o drive de boot (C:), a compatibilidade total pode ser mais difícil devido a ferramentas corporativas de segurança (EDR/XDR), e tentar forçar o BypassIO ali pode não valer o risco de desativar sensores de segurança.

      Pense certo: BypassIO não é um botão turbo genérico, é uma rota expressa para cargas de trabalho específicas que sabem pedir passagem.


      Referências & Leitura Complementar

      • Microsoft Learn: BypassIO for Filter Drivers – Documentação técnica sobre a implementação de drivers compatíveis.

      • NVM Express Base Specification 2.0: Detalhes sobre os comandos NVMe e filas de submissão que beneficiam o paralelismo.

      • DirectStorage API Specs: Documentação do DirectX detalhando a integração com a pilha de I/O.

      • WinHEC (Windows Hardware Engineering Community): Apresentações sobre "Storage Stack Optimizations in Windows 11".

      #Windows 11 NVMe #BypassIO #DirectStorage #Latência de Disco #Storage Stack Windows #Performance SSD #IOPS
      Roberto Holanda
      Assinatura Técnica

      Roberto Holanda

      Guru de Sistemas de Arquivos (ZFS/Btrfs)

      "Dedico minha carreira à integridade dos dados. Para mim, o bit rot é o inimigo e o Copy-on-Write é a salvação. Exploro a fundo ZFS, Btrfs e a beleza dos checksums."