NVMe PCI no Linux

Suporte ao driver NVMe PCI Endpoint chega no Linux 6.14

Suporte ao driver NVMe PCI Endpoint chega no Linux 6.14

O Linux 6.14 apresentará um novo e interessante driver: o NVMe PCI Endpoint Function Target. Desenvolvido por Damien Le Moal da Western Digital, o driver utiliza o framework PCI endpoint para criar controladores NVMe em hardware com suporte a modo endpoint PCIe.

O que é o NVMe PCI Endpoint Function Target?

O novo driver permite que controladores PCIe NVMe sejam criados para fins de aprendizado, testes e exploração de recursos NVMe. Ele é projetado para hardware como placas de circuito integrado (SBCs) que possuem controladores PCIe em modo endpoint, como a placa Rock5B com SoC Rockchip RK3588.

Os testes com este hardware demonstraram:

  • 131 KIOPS: Leituras aleatórias 4K com 4 filas de I/O.
  • 2.8 GB/s: Taxa de transferência máxima para leituras sequenciais 512K.

Embora o driver não seja destinado ao uso em produção, ele serve como uma poderosa ferramenta para entender e testar implementações NVMe.

Funcionalidades do driver

1. Framework PCI Endpoint

O driver utiliza o framework PCI endpoint para configurar funções PCIe compatíveis com controladores NVMe, mapeando a memória local ao espaço de endereços PCI para acessar comandos e realizar transferências DMA.

2. Configuração via Configfs

O controlador NVMe PCI endpoint é configurado usando o Configfs, permitindo a criação de subsistemas e portas PCI para integrar dispositivos de bloco ou arquivos como namespaces.

3. Suporte a testes de novos recursos

O driver facilita a experimentação com novos recursos NVMe e o aprendizado de como os controladores NVMe funcionam, tornando-se uma ferramenta valiosa para desenvolvedores e engenheiros de armazenamento.

Limitações e melhorias futuras

Embora funcional, o driver ainda possui limitações, como a ausência de suporte a informações de proteção (protection information). Isso significa que configurações que requerem essas informações retornarão um erro. A equipe de desenvolvimento planeja incluir esse suporte em atualizações futuras.

A documentação detalhada do driver pode ser encontrada no repositório oficial do Linux. Consulte o link do commit para mais informações sobre como configurar e usar o driver.

Impacto no ecossistema Linux

Embora não seja voltado para produção, o NVMe PCI Endpoint Function Target destaca a inovação contínua no kernel Linux. Ele oferece uma plataforma poderosa para aprendizado e teste, especialmente para desenvolvedores interessados em explorar o potencial dos controladores NVMe.

Emanuel Negromonte Autor
Autor
Jornalista especialista em Linux a mais de 20 anos. Fundador do SempreUpdate e entusiasta do software livre.