Padrão NVMe PCIe 5.0: recursos e diferenças do 4.0

NVMe PCIe 5.0 padrão

Os primeiros controladores de flash para SSDs NVMe com suporte para PCIe 5.0 agora são uma realidade e têm a capacidade de atingir drives de gigabyte por segundo em dígitos duplos pela primeira vez. Mas quais são os benefícios de adotar a tecnologia NVMe PCIe 5.0 em casa e quais são os desafios?

Uma das máximas de desempenho é que um sistema é tão lento quanto sua parte mais lenta permite. Por isso, para atingir desempenho, busca não apenas aumentar a velocidade de componentes como processadores e RAM, mas também de unidades de armazenamento. O que está sendo alcançado com a adoção de diferentes padrões PCIe para drives NVMe.

O que é um controlador de flash?

Controlador Flash NVMe PCIe

Um controlador de flash é uma peça de hardware que fica entre a memória NVMe ou qualquer outro tipo de memória Flash NAND e o CPU or GPU que deseja acessá-lo. Seu trabalho é traduzir endereços virtuais em endereços físicos que permitem acesso direto aos blocos de memória NVMe que compõem o SSD unidade de armazenamento.

Hoje, quando uma CPU ou GPU acessa qualquer espaço de memória, ela o faz usando um endereçamento comum em que todas as memórias às quais eles têm acesso dentro da hierarquia são unificadas. As diferentes MMUs integradas na CPU e na GPU são responsáveis ​​pela comunicação com os diferentes tipos de memória do sistema, RAM, VRAM, mas também RAM não volátil ou NVRAM, que é a memória NVMe em SSDs.

Mas o endereçamento virtual é diferente do endereçamento físico e, portanto, é necessário um processo de tradução, que é realizado pelo controlador flash. Para isso, dispõe de uma memória na qual armazena as tabelas de conversão de endereços, os dados de origem na forma de endereçamento virtual e os dados de destino na forma de endereçamento físico. Essa memória pode ser encontrada no SSD NVMe, pode ser a RAM do sistema, no caso de um design DRAM-Less, ou pode ser embutida como memória embutida no próprio controlador de flash.

Drivers de Flash para NVMe PCIe 5.0, uma revisão

Marvel Bravera SC5 NVMe PCIe 5.0

Um dos primeiros controladores Flash a suportar PCI Express 5.0 é o Marvell Bravera SC5 . O que permite que os dados sejam transmitidos com uma largura de banda de 14 GB / s em um barramento PCI Express 4 de 5.0 linhas, o que significa dobrar a largura de banda em relação ao mesmo número de linhas em PCI Express 4.0, mas não significa saturar o barramento em ambos os casos, pois podem atingir 16 GB / se 7 GB / s, respectivamente.

Deve-se levar em consideração que um controlador flash funciona da mesma forma que as interfaces que comunicam a memória RAM ou VRAM com as CPUs e GPUs. Eles são encarregados de processar as solicitações de leitura e gravação feitas pelo processador. E como hoje já temos vários núcleos na CPU, é muito importante que haja um grande número de canais de acesso em um controlador flash. o Marvell Bravera SC5 tem 16 canais no total, portanto, até 16 chips NAND Flash de canal único ou 8 canais duplos podem ser conectados a ele.

Os canais são o número de chips de memória NVMe com os quais o controlador de flash pode se comunicar simultaneamente. Os SSDs NVMe low-end geralmente têm 2 ou 4 canais, os high-end 8 canais e temos casos especiais como o PlayStation 5 SSD com 12 canais. O fato do Marvell Bravera SC5 possuir 16 canais não só lhe permite ter uma grande capacidade de armazenamento, mas mostra que é um controlador projetado para o mercado de servidores e não para PCs domésticos.

Alta largura de banda requer alta capacidade de computação

Puente BInário

Mover dados de uma memória para outra é um dos maiores pesadelos que os arquitetos de hardware já enfrentaram em toda a história da computação. A movimentação em massa requer que a CPU ou GPU gaste um bom tempo executando as execuções relevantes para ela. É por isso que, desde o início dos tempos, foram criados sistemas de hardware que transferem dados de uma memória para outra sem a participação da CPU principal e que o fazem em muito menos tempo.

O fato de dar acesso à memória de um SSD NVMe através da porta PCI Express para uma GPU por exemplo, não significa que o acesso possa ser feito diretamente sem afetar o desempenho. Em consoles de nova geração, como PlayStation 5 e ambos Xbox Série X, a inclusão de unidades SSD NVMe trouxe consigo a integração de unidades especializadas encarregadas de realizar a transferência, compressão e descompressão de dados do SSD para a memória, que buscam aliviar a CPU e GPU de tais sistemas de tal carga.

Por outro lado, no PC, apenas NVIDIA e AMD placas gráficas com suporte para DirectX 12 Ultimate possuem tais unidades. O que leva à necessidade de extrair poder de computação para gerenciar a movimentação de dados. Se a CPU ou GPU não for rápida o suficiente para realizar esse gerenciamento, é gerado um efeito de cadeia que faz com que todas as solicitações subsequentes sejam atrasadas, fazendo com que o total de dados enviados por fração de tempo seja atrasado.

O que os SSDs NVMe PCIe 5.0 trazem além de mais velocidade?

CXL

Por serem uma evolução linear em relação àqueles que usam a interface PCIe 4.0, poderíamos dizer muito pouco, mas o lançamento de SSDs NVMe domésticos com PCIe 5.0 coincidirá com a implantação do padrão NVMe 2.0, que fornecerá uma série de vantagens que vão além do aumento da velocidade do ônibus. Portanto, os dois fatores serão combinados para melhorar este tipo de armazenamento em um futuro próximo.

Embora se tivermos que destacar uma melhoria no PCIe 5.0, especialmente é o suporte do Compute Express Link ou CXL. Este é um recurso. que inicialmente estará apenas em servidores e simplifica o acesso ao hardware. O motivo? Permite o acesso direto a um SSD NVMe sem passar pelo IOMMU do Southbridge, reduzindo a latência de acesso e possibilitando a implementação do controlador flash na própria CPU, GPU ou APU ou ainda utilizar a interface PCIe CXL para acesso direto ao DIMMs que integram chips NVMe e DDR5 juntos.