NVMe (non-volatile memory express)

NVMe (non-volatile memory express) é um protocolo de armazenamento criado para acelerar a velocidade de transferência de dados entre sistemas empresariais e clientes e unidades de Estado Sólido (SSD) sobre o barramento Interconnect Express (PCIe) de componentes periféricos de alta velocidade de um computador.como a tecnologia de Estado Sólido se tornou o meio preferido no mercado de armazenamento, rapidamente se tornou claro que as interfaces e protocolos existentes — notavelmente, o apego à tecnologia avançada Serial (SATA) e o SCSI (SAS) Serial-Attached — não eram adequados, particularmente em ambientes de data center. O trabalho em um novo protocolo Projetado especificamente para NAND flash começou já em 2007, com a Intel tomando a liderança. No início de 2011, o NVMe spec inicial foi lançado — cerca de 100 empresas de tecnologia estavam envolvidas no desenvolvimento.

a especificação NVMe define uma interface de registro, conjunto de comandos e coleção de recursos para SSD baseados em PCIe com os objetivos de alto desempenho e interoperabilidade em uma ampla gama de subsistemas NVM. A especificação NVMe não estipula o modelo de utilização final, como armazenamento de Estado Sólido, memória principal, memória de cache ou memória de backup.

NVMe provides an alternative to the Small Computer System Interface (SCSI) standard and the ATA standard for connecting and transmitting data between a host system and a peripheral target storage device. O conjunto de comandos ATA em uso com SATA SSDs e o conjunto de comandos SCSI para SAS SSDs foram desenvolvidos em uma época em que Unidades de disco rígido (HDDs) e fita eram a mídia de armazenamento principal. NVMe foi projetado para uso com mídia mais rápida.

Os principais benefícios do PCIe SDS baseado em NVMe sobre SDS baseados em SAS e SATA são a latência reduzida na pilha de software host, operações de entrada/saída mais elevadas por segundo (IOPS), e consumo de energia potencialmente menor, dependendo do fator de forma e do número de faixas PCIe em uso.

O Protocolo NVMe pode suportar SSDs que usam diferentes tipos de memória não volátil, incluindo NAND flash e a tecnologia 3D XPoint desenvolvida pela Intel e Micron. Drivers de referência NVMe estão disponíveis para uma variedade de sistemas operacionais (OSes), incluindo Windows e Linux.

NVMe não permite apenas que as aplicações existentes funcionem de forma mais rápida e eficiente.; é na verdade um facilitador chave de tecnologias e aplicações novas e em evolução, tais como a internet das Coisas (IoT), inteligência artificial (AI) e aprendizagem de máquinas (ML), que podem todos beneficiar da baixa latência e alto desempenho do armazenamento ligado a NVMe.

How NVMe works

NVMe maps input/output (I / O) commands and responses to shared memory in a host computer over the PCIe interface. A interface NVMe suporta I/O paralelo com processadores multicores para facilitar a alta produção e mitigar estrangulamentos da unidade central de processamento (CPU).

NVMe oferece um conjunto de comandos mais simples para processar um pedido de E/S do que os conjuntos de comandos SCSI e ATA. NVMe requer menos de metade do número de instruções de CPU do que o conjunto de comandos SCSI faz com dispositivos SAS e o conjunto de comandos ATA usa com unidades SATA.

NVMe SSDs vs. SATA SSDs

SATA é um protocolo de comunicação desenvolvido para computadores para interagir com sistemas de Armazenamento HDD. Introduzido em 2000 por um grupo de grandes tech players, SATA substituiu a parallel ATA e rapidamente se tornou o ubiquitous storage system protocol para computadores que vão de laptops a servidores. Ao longo dos anos, as revisões do spec foram aceleradas e ele corre atualmente em 6 Gbps com um rendimento efetivo de até 600 MBps.

embora desenvolvido para a tecnologia de disco rígido com platters mecânicos de fiação e cabeças de leitura/escrita controladas pelo atuador, os SSDs iniciais foram comercializados com interfaces SATA para tirar proveito do ecossistema SATA existente. Foi um design conveniente e ajudou a acelerar a adoção do SSD, mas não era-e ainda não é-a interface ideal para dispositivos de armazenamento Nand flash e era cada vez mais visto como um gargalo do sistema.

projetado para flash, a velocidade de NVMe e baixa latência deixam SATA na poeira, e NVMe permite capacidades de armazenamento muito mais elevadas em fatores de forma menor, como M. 2. Geralmente, os parâmetros de desempenho NVMe superam os da SATA por cinco vezes ou mais.

SATA pode ser mais estabelecida com uma história mais longa e custos de implementação mais baixos do que NVMe, mas é claramente tecnologia de disco rígido que foi reequipado para meios de armazenamento mais modernos.

NVMe SSDs vs. SAS SSDs

NVMe suporta 64.000 comandos numa fila de mensagens única e um máximo de 65.535 filas de espera. Em contraste, a profundidade de Fila de um dispositivo SAS normalmente suporta até 256 comandos e uma unidade SATA Suporta até 32 comandos em uma fila.

no entanto, PCIe SSDs baseados em NVMe são atualmente mais caros do que SSDs baseados em SAS e SATA de capacidade equivalente; embora, esse delta esteja estreitando. Além disso, a empresa de ponta NVMe SSDs pode consumir mais energia do que a SAS ou SATA SSDs. A Associação Comercial SCSI afirma que a SAS SSDs mais madura oferece vantagens adicionais sobre a NVMe PCIe SSDs, tais como maior escalabilidade, pluggability quente e capacidade de failover testada no tempo. NVMe PCIe SSDs também pode fornecer um nível de desempenho que muitas aplicações não exigem.

SATA vs. SAS vs. NVMe
Uma comparação de protocolos de armazenamento SATA, SAS e NVMe.

History and evolution of NVM Express

The Non-Volatile Memory Host Controller Interface (NVMHCI) Workgroup began to develop the NVMe specification in 2009 and published the 1.0 version on March 1, 2011. O 1.0 a especificação incluía a interface de Fila, o conjunto de comandos NVM, o conjunto de comandos de administração e os elementos de segurança.

O Grupo de trabalho NVMHCI, comumente conhecido como o grupo de trabalho NVM Express, lançou uma atualização para a especificação NVMe no Oct. 11, 2012. O NVMe 1.1 adicionou suporte para SSDs com vários portos PCIe para permitir a partilha multipath I/O e namespace. Outras novas capacidades incluíram transições autônomas do Estado de energia durante o tempo de marcha lenta SEM carga para reduzir as necessidades de energia e reservas, permitindo que dois ou mais hosts coordenem o acesso a um espaço de nomes compartilhado para melhorar a tolerância de falhas.

NVMe desenvolvimento de cronograma
Um cronograma de datas importantes para o desenvolvimento de NVMe.

o grupo de trabalho expresso da NVM realizou o seu primeiro “Plugfest” em maio de 2013 para permitir às empresas testar a conformidade dos seus produtos com a especificação da NVMe e verificar a interoperabilidade com outros produtos da NVMe.

The NVM Express Workgroup incorporated under the NVM Express organization name in March 2014. Os membros fundadores da época incluíam Cisco Systems, Dell, EMC, filial HGST da Western Digital, Intel, LSI, Micron Technology, NetApp, Oracle, PMC-Sierra, Samsung Electronics, SanDisk e Seagate Technology.

a organização NVM Express tornou-se mais tarde conhecida simplesmente como NVM Express Inc. A organização sem fins lucrativos tem mais de 100 empresas de tecnologia como membros.a especificação NVMe 1.2 surgiu em Nov. 3, 2014, com melhorias, como suporte para atualizações de firmware ao vivo, Gestão de energia melhorada e a opção para proteção de dados extremo-a-extremo.

em Nov. 17, 2015, a NVM Express organização ratificou a versão 1.0 do NVM Express Interface de Gerenciamento (NVMe-MI) para fornecer uma arquitetura e um conjunto de comandos para gerir uma memória não-volátil do subsistema de fora da banda. NVMe-MI permite que um controlador de gestão para executar tarefas como dispositivo SSD e descoberta de capacidade, monitoramento de saúde e temperatura, e atualizações de firmware não-escrúpulos. Sem NVMe-MI, gerentes de TI geralmente confiavam em interfaces de gerenciamento proprietárias e específicas do fornecedor para permitir a administração de PCIe SSDs.

NVMe 1.3 melhorias de funcionalidade

NVM Express lançou NVMe 1.3 em junho de 2017. Destaca o centro em operações de saneamento, um novo quadro conhecido como diretivas e melhorias de virtualização.

em uma operação de higienização, todos os dados do usuário no sub-sistema NVMe são modificados de modo que a recuperação não é possível “a partir de qualquer cache, mídia não-volátil ou buffer de memória do controlador”, de acordo com uma folha de referência NVM Express. As operações de higienização são recomendadas quando um SSD está sendo retirado ou reutilizado para um novo caso de uso. Os modos de higienização incluem a remoção de blocos de baixo nível na mídia NAND, criptografia para mudar uma chave de criptografia de mídia e sobrepor.o quadro das directivas define um mecanismo para o intercâmbio de dados entre um subsistema “host” e um subsistema “NVMe”. Isto permite a marcação de comandos per-i/O e dá aos administradores de TI a capacidade de configurar atributos e configurações relatáveis.

O primeiro uso de diretivas é um recurso chamado Streams para otimizar a colocação de dados para aumentar a resistência e o desempenho de Nand SSD. Tradicionalmente, antes que novos dados possam ser escritos no SSD, grandes blocos de dados devem ser apagados primeiro.

a funcionalidade de fluxos permite a um host usar um “identificador de fluxo” para indicar os blocos lógicos específicos de armazenamento que pertencem a um grupo de dados associados. Isto permite que uma leitura ou uma escrita seja marcada com dados relacionados armazenados em outros locais.

Virtualization enhancements define como NVMe flash pode ser usado em um ambiente de armazenamento compartilhado onde tanto controladores físicos quanto virtuais estão presentes, incluindo controladores de armazenamento primários e controladores de armazenamento secundário. NVM Express disse que o objetivo é permitir que as equipes de desenvolvimento dediquem um SSD específico a uma máquina virtual específica (VM).

NVMe 1.4 Melhorias de recursos

NVMe 1.4 foi introduzido em julho de 2019. Esta última versão inclui uma série de melhorias e novas características, incluindo:

  • reconstrução ajuda melhora a recuperação de dados e aumenta as operações de migração de dados.
  • persistente diário de Eventos mantém um histórico detalhado da unidade que pode ser usado para depuração e determinar as causas dos problemas.os conjuntos NVM e o determinismo IO melhoram o desempenho e a qualidade do serviço (QoS).o acesso assimétrico ao espaço de nomes (ANA) aumenta a multiplicação por alta disponibilidade.
  • Buffer de memória Host (HMB) reduz a latência e ajuda no design de SSD.
  • persistente Memory Region (PMR) permite que os sistemas hospedeiros leiam e escrevam diretamente para a dinâmica random access memory (DRAM) que os SSDs incluem juntamente com seu flash principal, que tinha sido usado principalmente para cache

as novas características irão exigir que os fabricantes de flash drive para atualizar seus produtos para incorporar as melhorias. Serão também necessários novos condutores para os EOS.

NVMe form factors and standards

The need for a storage interface and protocol to better exploit NAND flash’s performance potential in enterprise environments was the principal impetus behind the development of the NVMe spec. Mas repensar o padrão de conexão abriu as portas para vários tipos de implementações de interface que poderia permanecer dentro dos limites da nova especificação oferecendo uma variedade de opções de implementação.

em ordem curta, um número de fatores de forma flash em conformidade com as especificações NVMe surgiu, incluindo cartões add-in de tipo convencional (AIC) para o barramento PCIe, e novos fatores de forma para SSDs dublados M. 2 e U. 2.

  • AIC. O fator forma AIC permite que os fabricantes criem seus próprios cartões que se encaixam no barramento PCIe sem se preocuparem com projetos de baias de armazenamento ou limitações similares. Os cartões são muitas vezes projetados para casos especiais de uso e podem incluir processadores adicionais e outros chips para melhorar o desempenho do armazenamento de Estado Sólido.2. O M.2 form factor foi desenvolvido para tirar partido do tamanho compacto de NAND flash e baixa descarga de calor. Como tal, os dispositivos M. 2 não se destinam a se encaixar em compartimentos tradicionais do drive bay, mas sim a ser implantados em espaços muito menores. Muitas vezes descrito como cerca do tamanho de uma vara de goma, M. 2 SSDs medem 22 mm de largura e geralmente 80 mm de comprimento, embora alguns produtos podem ser mais longos ou mais curtos.
  • U. 2. Ao contrário do fator de forma M. 2, U. 2 SSDs foram projetados para se encaixar em compartimentos de armazenamento existentes originalmente destinados a dispositivos padrão SATA ou SAS. U.2 SSDs se parecem muito com aqueles meios mais antigos, como eles normalmente usam os envelopes de 2,5 polegadas ou 3,5 polegadas que são alojamentos familiares para HDDs. A ideia, é claro, era tornar o mais fácil possível implementar a tecnologia NVMe com o mínimo de reengenharia possível.

outro fator de forma NVMe menos amplamente implantado é o Fator de forma SSD da empresa e do centro de dados, ou EDSFF. É apoiado por jogadores importantes da indústria de armazenamento, como Intel, Dell EMC, Hewlett Packard Enterprise (HPE), Lenovo, Samsung e outros. O objetivo do EDSFF é trazer maior desempenho e capacidades para sistemas de armazenamento de classe empresarial. Talvez o exemplo mais conhecido de edsff flash seja o E1 da Intel.L (long) e E1.S (short) flash devices, which are provided in what was originally referred to as the “ruler” form factor.

NVMe sobre tecidos

NVM Express Inc. publicou a versão 1.0 da especificação NVMe over Fabrics (NVMe-oF) em 5 de junho de 2016. A NVMe-oF foi projetada para estender os benefícios de alto desempenho e baixa latência da NVMe através de tecidos de rede que conectam servidores e sistemas de armazenamento, tais como Fibre Channel (FC), Ethernet e InfiniBand.os transportes de tecidos incluem NVM-do uso remoto de acesso à memória direta (RDMA) e NVMe-do mapped to FC. Um subgrupo técnico da NVM Express Inc. trabalhou na NVMe – oF COM A RDMA, e o Comitê T11 do Comitê Internacional de normas de Tecnologia da Informação (INCITS) é responsável pelo desenvolvimento da NVMe sobre FC (FC-NVMe).

A NVMe-of specification é em grande parte a mesma que a NVMe specification. Uma das principais diferenças entre NVMe-oF e NVMe é a metodologia para transmitir e receber comandos e Respostas. NVMe é projetado para uso local e mapeia comandos e respostas para a memória compartilhada de um computador via PCIe. Em contrapartida, a NVMe over Fabrics emprega um sistema baseado em mensagens para comunicar entre o computador hospedeiro e o dispositivo de armazenamento de destino.

How NVMe-oF works
a simple visual of how NVMe-oF works.

O declarado objetivo de desenho para NVMe-foi-se para adicionar mais de 10 microssegundos de latência para a comunicação entre um NVMe computador host e de rede conectada NVMe dispositivo de armazenamento, em comparação com a latência associada com um NVMe dispositivo de armazenamento usando um computador local do barramento PCIe.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *