De Wikipedia, la enciclopedia libre
  (Redirigido desde NVMe )
Saltar a navegación Saltar a búsqueda

NVM Express ( NVMe ) o Especificación de interfaz de controlador de host de memoria no volátil ( NVMHCIS ) es una especificación de interfaz de dispositivo lógico abierta para acceder a los medios de almacenamiento no volátiles de una computadora conectados a través del bus PCI Express (PCIe). El acrónimo NVM significa memoria no volátil , que a menudo es memoria flash NAND que viene en varios factores de forma física, incluidas unidades de estado sólido (SSD), tarjetas complementarias PCI Express (PCIe) y M.2tarjetas. NVM Express, como interfaz de dispositivo lógico, se ha diseñado para aprovechar la baja latencia y el paralelismo interno de los dispositivos de almacenamiento de estado sólido. [1]

Desde el punto de vista arquitectónico, la lógica de NVMe se almacena físicamente y se ejecuta mediante el chip controlador NVMe que se ubica físicamente junto con los medios de almacenamiento, comúnmente en estos días un SSD. Los cambios de versión de NVMe, por ejemplo, 1.3 a 1.4, se incorporan en los medios de almacenamiento y no afectan a los componentes compatibles con PCIe, como las placas base y las CPU. [2]

Por su diseño, NVM Express permite que el hardware y el software del host aprovechen al máximo los niveles de paralelismo posibles en los SSD modernos. Como resultado, NVM Express reduce la sobrecarga de E / S y aporta varias mejoras de rendimiento en relación con las interfaces de dispositivos lógicos anteriores, incluidas varias colas de comandos largas y una latencia reducida. Los protocolos de interfaz anteriores se desarrollaron para su uso con unidades de disco duro (HDD) mucho más lentas donde existe un retraso muy prolongado (en relación con las operaciones de la CPU) entre una solicitud y la transferencia de datos, donde las velocidades de datos son mucho más lentas que las velocidades de RAM y donde la rotación del disco y buscar tiempo dan lugar a mayores requisitos de optimización.

Los dispositivos NVM Express están disponibles principalmente en forma de tarjetas de expansión PCI Express de tamaño estándar [3] y como dispositivos de factor de forma de 2,5 pulgadas que proporcionan una interfaz PCI Express de cuatro carriles a través del conector U.2 (anteriormente conocido como SFF- 8639). [4] [5] Los dispositivos de almacenamiento que utilizan SATA Express y la especificación M.2 que admiten NVM Express como interfaz de dispositivo lógico son un caso de uso popular para NVMe y se han convertido en la forma dominante de almacenamiento de estado sólido para servidores y equipos de escritorio. y portátiles por igual. [6] [7]

Especificaciones [ editar ]

Las especificaciones para NVMe publicadas hasta la fecha incluyen: [8]

  • 1.0e (enero de 2013)
  • 1.1b (julio de 2014)
  • 1.2 (noviembre de 2014)
    • 1.2a (octubre de 2015)
    • 1.2b (junio de 2016)
    • 1.2.1 (junio de 2016)
  • 1.3 (mayo de 2017)
    • 1.3a (octubre de 2017)
    • 1.3b (mayo de 2018)
    • 1.3c (mayo de 2018)
    • 1.3d (marzo de 2019)
  • 1.4 (junio de 2019)
    • 1.4a (marzo de 2020)
    • 1.4b (septiembre de 2020)

Antecedentes [ editar ]

Intel SSD serie 750, un SSD que utiliza NVM Express, en forma de tarjeta de expansión PCI Express 3.0 × 4 (vistas frontal y posterior)

Históricamente, la mayoría de los SSD utilizaban buses como SATA , SAS o Fibre Channel para interactuar con el resto de un sistema informático. Desde que las SSD estuvieron disponibles en los mercados masivos, SATA se ha convertido en la forma más típica de conectar SSD en computadoras personales ; sin embargo, SATA fue diseñado principalmente para interactuar con unidades de disco duro mecánicas (HDD) y se volvió cada vez más inadecuado para SSD, que mejoraron en velocidad con el tiempo. [9]Por ejemplo, dentro de unos 5 años de adopción generalizada del mercado masivo (2005-2010), muchas SSD ya se vieron frenadas por las velocidades de datos comparativamente lentas disponibles para los discos duros; a diferencia de las unidades de disco duro, algunas SSD están limitadas por el rendimiento máximo de SATA.

Los SSD de gama alta se habían fabricado utilizando el bus PCI Express antes de NVMe, pero utilizando interfaces de especificación no estándar. Al estandarizar la interfaz de los SSD, los sistemas operativos solo necesitan un controlador de dispositivo común para funcionar con todos los SSD que se adhieran a la especificación. También significa que cada fabricante de SSD no tiene que utilizar recursos adicionales para diseñar controladores de interfaz específicos. Esto es similar a cómo se construyen los dispositivos de almacenamiento masivo USB para seguir la especificación de clase de dispositivo de almacenamiento masivo USB y funcionar con todas las computadoras, sin necesidad de controladores por dispositivo. [10]

Los dispositivos NVM Express también se utilizan como bloque de construcción del almacenamiento en búfer de ráfagas en muchas supercomputadoras líderes, como Fugaku Supercomputer , Summit Supercomputer y Sierra Supercomputer , etc. [11] [12]

Historia [ editar ]

Los primeros detalles de un nuevo estándar para acceder a la memoria no volátil surgieron en el Intel Developer Forum 2007, cuando se mostró NVMHCI como el protocolo del lado del host de un diseño arquitectónico propuesto que tenía Open NAND Flash Interface Working Group (ONFI) en la memoria. (flash) lado de las fichas. [13] Ese año se formó un grupo de trabajo NVMHCI dirigido por Intel. La especificación NVMHCI 1.0 se completó en abril de 2008 y se publicó en el sitio web de Intel. [14] [15] [16]

El trabajo técnico en NVMe comenzó en la segunda mitad de 2009. [17] Las especificaciones de NVMe fueron desarrolladas por NVM Express Workgroup, que consta de más de 90 empresas; Amber Huffman de Intel fue la presidenta del grupo de trabajo. La versión 1.0 de la especificación se publicó el 1 de marzo de 2011, [18] mientras que la versión 1.1 de la especificación se publicó el 11 de octubre de 2012. [19] Las principales características agregadas en la versión 1.1 son E / S de múltiples rutas (con espacio de nombres compartido) y E / S de dispersión-recopilación de longitud arbitraria . Se espera que las revisiones futuras mejoren significativamente la gestión del espacio de nombres. [17] Debido a su enfoque de funciones, NVMe 1.1 se llamó inicialmente "Enterprise NVMHCI". [20]En enero de 2013 se publicó una actualización de la especificación NVMe básica, denominada versión 1.0e. [21] En junio de 2011, se formó un Grupo Promotor dirigido por siete empresas.

Los primeros conjuntos de chips NVMe disponibles comercialmente fueron lanzados por Integrated Device Technology (89HF16P04AG3 y 89HF32P08AG3) en agosto de 2012. [22] [23] La primera unidad NVMe, la unidad empresarial XS1715 de Samsung , se anunció en julio de 2013; Según Samsung, esta unidad admitía velocidades de lectura de 3 GB / s, seis veces más rápidas que sus ofertas empresariales anteriores. [24] La familia de controladores LSI SandForce SF3700, lanzada en noviembre de 2013, también es compatible con NVMe. [25] [26] Un producto " prosumidor " de Kingston HyperX que utiliza este controlador se exhibió en el Consumer Electronics Show.2014 y prometió un rendimiento similar. [27] [28] En junio de 2014, Intel anunció sus primeros productos NVM Express, la familia de centros de datos Intel SSD que interactúa con el host a través del bus PCI Express, que incluye la serie DC P3700, la serie DC P3600 y la DC P3500 serie. [29] Desde noviembre de 2014 , las unidades NVMe están disponibles comercialmente.

En marzo de 2014, el grupo se incorporó para convertirse en NVM Express, Inc., que a partir de noviembre de 2014 consta de más de 65 empresas de toda la industria. Las especificaciones de NVM Express pertenecen y son mantenidas por NVM Express, Inc., que también promueve el conocimiento de la industria de NVM Express como un estándar para toda la industria. NVM Express, Inc. está dirigida por una junta directiva de trece miembros seleccionados del Grupo Promotor, que incluye a Cisco, Dell, EMC, HGST, Intel, Micron, Microsoft, NetApp, Oracle, PMC, Samsung, SanDisk y Seagate. [30]

En septiembre de 2016, la Asociación CompactFlash anunció que lanzaría una nueva especificación de tarjeta de memoria, CFexpress , que usa NVMe. [ cita requerida ]

Factores de forma [ editar ]

Hay muchos factores de forma de la unidad de estado sólido NVMe, como AIC, U.2, U.3, M.2, etc.

AIC (tarjeta complementaria) [ editar ]

Casi todas las primeras unidades de estado sólido NVMe son HHHL (media altura, media longitud) o FHHL (altura completa, media longitud) AIC, con una interfaz PCIe 2.0 o 3.0. Una tarjeta de unidad de estado sólido HHHL NVMe es fácil de insertar en una ranura PCIe de un servidor.

U.2 (SFF-8639) [ editar ]

U.2 , anteriormente conocido como SFF-8639 , es una interfaz de computadora para conectar unidades de estado sólido a una computadora. Utiliza hasta cuatro carriles PCI Express. Los servidores disponibles pueden combinar hasta 4 unidades de estado sólido U.2 NVMe. [31] [se necesita fuente no primaria ]

U.3 (SFF-8639) [ editar ]

U.3 se basa en la especificación U.2 y utiliza el mismo conector SFF-8639. Es un estándar de 'tri-modo', que combina compatibilidad con SAS, SATA y NVMe en un solo controlador. U.3 también puede admitir el intercambio en caliente entre las diferentes unidades donde está disponible el soporte de firmware. Las unidades U.3 siguen siendo compatibles con versiones anteriores de U.2, pero las unidades U.2 no son compatibles con hosts U.3.

M.2 [ editar ]

M.2 , anteriormente conocido como Factor de forma de próxima generación ( NGFF ), utiliza un bus de computadora de unidad de estado sólido M.2 NVMe . Las interfaces proporcionadas a través del conector M.2 son PCI Express 3.0 o PCI Express 4.0 (hasta cuatro carriles ).

NVMe-oF [ editar ]

NVM Express over Fabrics (NVMe-oF) es el concepto de utilizar un protocolo de transporte a través de una red para conectar dispositivos remotos, a diferencia de NVMe, donde los dispositivos se conectan directamente al bus PCIe (o mediante un conmutador PCIe a un bus PCIe). En septiembre de 2014, se propuso un estándar para usar NVMe sobre Fibre Channel (FC) [32] y esta combinación a menudo se conoce como FC-NVMe (o algunas veces NVMe / FC). NVMe-oF es un protocolo de comunicación que permite que una computadora acceda a dispositivos de almacenamiento de nivel de bloque conectados a otra computadora a través del acceso remoto directo a la memoria a través de varios protocolos de transporte:

  • FC , FC-NVMe
  • TCP , NVMe / TCP
  • Ethernet , RoCE (sobre Ethernet convergente ) e iWARP (sobre Ethernet tradicional)
  • InfiniBand , NVMe sobre InfiniBand
  • Otros protocolos de transporte de próxima generación.

El estándar para NVMe sobre tejidos fue publicado por NVM Express, Inc. en 2016. [33] [34]

Los siguientes controladores implementan el protocolo NVMe-oF:

  • El iniciador NVMe-oF de Linux y los controladores de destino [35]
  • El iniciador NVMe-oF y los controladores de destino del Storage Performance Development Kit (SPDK) [36]
  • Un controlador de iniciador NVMe-oF para Microsoft Windows [37]

A partir de Linux Kernel 5.0, se ha agregado soporte nativo para NVMe / TCP.

Comparación con AHCI [ editar ]

La interfaz de controlador de host avanzada (AHCI) tiene el beneficio de una amplia compatibilidad de software, pero tiene la desventaja de no ofrecer un rendimiento óptimo cuando se usa con SSD conectados a través del bus PCI Express . Como interfaz de dispositivo lógico, AHCI se desarrolló cuando el propósito de un adaptador de bus de host (HBA) en un sistema era conectar el subsistema de CPU / memoria con un subsistema de almacenamiento mucho más lento basado en medios magnéticos rotativos . Como resultado, AHCI introduce ciertas ineficiencias cuando se usa con dispositivos SSD, que se comportan mucho más como RAM que como medios giratorios. [6]

La interfaz del dispositivo NVMe se ha diseñado desde cero, aprovechando la baja latencia y el paralelismo de las SSD PCI Express, y complementando el paralelismo de las CPU, las plataformas y las aplicaciones contemporáneas. En un nivel alto, las ventajas básicas de NVMe sobre AHCI se relacionan con su capacidad para explotar el paralelismo en el hardware y software del host, que se manifiesta por las diferencias en la profundidad de la cola de comandos , la eficiencia del procesamiento de interrupciones , el número de accesos a registros no almacenables en caché , etc. en varias mejoras de rendimiento. [6] [38] : 17–18

La siguiente tabla resume las diferencias de alto nivel entre las interfaces de dispositivo lógico NVMe y AHCI.

Soporte del sistema operativo [ editar ]

La posición de las rutas de datos NVMe y las múltiples colas internas dentro de varias capas de la pila de almacenamiento del kernel de Linux . [40]
Sistema operativo Chrome
El 24 de febrero de 2015, se agregó soporte para el arranque desde dispositivos NVM Express a Chrome OS . [41] [42]
DragonFly BSD
La primera versión de DragonFly BSD con soporte NVMe es la versión 4.6. [43]
FreeBSD
Intel patrocinó un controlador NVM Express para las ramas principal y estable / 9 de FreeBSD . [44] [45] Los controladores nvd (4) y nvme (4) están incluidos en la configuración del kernel GENERIC de forma predeterminada desde la versión 10.2 de FreeBSD en 2015. [46]
Genode
El soporte para NVMe de nivel de consumidor se agregó al marco Genode como parte de la versión 18.05 [47] .
Haiku
Haiku obtuvo soporte para NVMe el 18 de abril de 2019. [48] [49]
Ilumina
illumos recibió soporte para NVMe el 15 de octubre de 2014. [50]
iOS
Con el lanzamiento del iPhone 6S y 6S Plus , Apple presentó la primera implementación móvil de NVMe sobre PCIe en teléfonos inteligentes. [51] de Apple seguido estos comunicados con el lanzamiento de la primera generación del iPad Pro y iPhone de primera generación SE que también utilizan NVMe sobre PCIe. [52]
Linux
Intel publicó un controlador NVM Express para Linux el 3 de marzo de 2011, [53] [54] [55] que se fusionó con la línea principal del kernel de Linux el 18 de enero de 2012 y se lanzó como parte de la versión 3.3 del kernel de Linux el 19 de marzo de 2012. [56]
Mac OS
Apple introdujo soporte de software para NVM Express en Yosemite 10.10.3. La interfaz de hardware NVMe se introdujo en la MacBook y MacBook Pro de 2016 . [57]
NetBSD
NetBSD agregó soporte para NVMe en NetBSD 8.0. [58] La implementación se deriva de OpenBSD 6.0.
OpenBSD
El trabajo de desarrollo necesario para admitir NVMe en OpenBSD se inició en abril de 2014 por un desarrollador senior anteriormente responsable de la compatibilidad con USB 2.0 y AHCI . [59] El soporte para NVMe se ha habilitado en la versión OpenBSD 6.0. [60]
Solaris
Solaris recibió soporte para NVMe en Oracle Solaris 11.2. [61]
VMware
Intel ha proporcionado un controlador NVMe para VMware , [62] que se incluye en vSphere 6.0 y versiones posteriores, que admite varios dispositivos NVMe. [63] A partir de la actualización 1 de vSphere 6, el subsistema de almacenamiento definido por software VSAN de VMware también admite dispositivos NVMe. [64]
Ventanas
Microsoft agregó soporte nativo para NVMe a Windows 8.1 y Windows Server 2012 R2 . [38] [65] Se han agregado controladores nativos para Windows 7 y Windows Server 2008 R2 en las actualizaciones. [66] Además, también se agregó extraoficialmente soporte para Windows XP y Vista. [67] [68] Muchos proveedores también han lanzado sus propios controladores de Windows para sus dispositivos. También hay archivos de instalación personalizados manualmente disponibles para instalar el controlador de un proveedor específico en cualquier tarjeta NVMe, como usar un controlador Samsung NMVe con un dispositivo que no sea Samsung NMVe, que puede ser necesario para características adicionales, rendimiento y estabilidad. [69]El soporte de Windows para NVMe Host Memory Buffer (HMB), una característica opcional agregada en la versión 1.2 de la especificación NVMe, se agregó en Windows 10 Anniversary Update (Versión 1607) en 2016. [70] HMB permite que los SSD utilicen la DRAM del host , que puede mejorar el rendimiento de E / S para SSD sin DRAM. [71]
La Alianza OpenFabrics mantiene un código abierto NVMe controlador de Windows para Windows 7/8 / 8.1 y Windows Server 2008R2 / 2012 / 2012R2, desarrollado a partir del código de referencia presentadas por varias empresas promotoras del grupo de trabajo NVMe, específicamente IDT, Intel y LSI. [72] La versión actual es 1.5 de diciembre de 2016. [73]

Soporte de software [ editar ]

QEMU
NVMe es compatible con QEMU desde la versión 1.6 lanzada el 15 de agosto de 2013. [74]
UEFI
Un controlador NVMe de código abierto para UEFI está disponible en SourceForge. [75]

Herramientas de gestión [ editar ]

nvmecontrol [ editar ]

La nvmecontrolherramienta se utiliza para controlar un disco NVMe desde la línea de comandos en FreeBSD. Fue agregado en FreeBSD 9.2. [76]

nvme-cli [ editar ]

Herramientas de espacio de usuario NVM-Express para Linux. [77]

Ver también [ editar ]

  • M.2
  • PCI-Express
  • Unidad de estado sólido
  • SATA Express

Referencias [ editar ]

  1. ^ "NVM Express" . NVM Express, Inc . Consultado el 24 de enero de 2017 . NVMe está diseñado desde cero para ofrecer un alto ancho de banda y acceso de almacenamiento de baja latencia para las tecnologías NVM actuales y futuras.
  2. ^ https://www.anandtech.com/show/14543/nvme-14-specification-publicado .
  3. Drew Riley (13 de agosto de 2014). "Revisión de Intel SSD DC P3700 800GB y 1.6TB: el futuro del almacenamiento" . tomshardware.com . Consultado el 21 de noviembre de 2014 .
  4. ^ "Unidad de estado sólido Intel serie DC P3600" (PDF) . Intel . 2015-03-20. págs. 18, 20-22 . Consultado el 11 de abril de 2015 .
  5. Paul Alcorn (5 de junio de 2015). "SFFWG cambia el nombre del conector PCIe SSD SFF-8639 a U.2" . Hardware de Tom . Consultado el 9 de junio de 2015 .
  6. ↑ a b c d Dave Landsman (9 de agosto de 2013). "AHCI y NVMe como interfaces para dispositivos SATA Express - Descripción general" (PDF) . SATA-IO . Consultado el 2 de octubre de 2013 .
  7. Paul Wassenberg (25 de junio de 2013). "SATA Express: Almacenamiento de cliente PCIe" (PDF) . SATA-IO . Consultado el 21 de noviembre de 2014 .
  8. ^ Especificaciones de NVMe
  9. ^ Walker, Don H. "Una comparación de NVMe y AHCI" (PDF) . 31 de julio de 2012 . SATA-IO . Consultado el 3 de julio de 2013 .
  10. ^ "Explicación de NVM Express" (PDF) . nvmexpress.org . 9 de abril de 2014 . Consultado el 21 de marzo de 2015 .
  11. ^ "Uso de sistemas Sierra de LC" . hpc.llnl.gov . Consultado el 25 de junio de 2020 .
  12. ^ "Guía del usuario de SummitDev" . olcf.ornl.gov . Consultado el 25 de junio de 2020 .
  13. ^ "Acelerando Flash ... en un instante" . El indagador. 2007-10-13 . Consultado el 11 de enero de 2014 .
  14. ^ http://www.bswd.com/FMS09/FMS09-T2A-Huffman.pdf
  15. ^ "Flash nuevas sugerencias estándar" . El indagador. 2008-04-16 . Consultado el 11 de enero de 2014 .
  16. ^ http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2008/20080813_T2A_Huffman.pdf
  17. ^ a b http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2013/20130813_A12_Onufryk.pdf
  18. ^ "Nuevo grupo promotor formado para avanzar NVM Express" (PDF) . Comunicado de prensa . 1 de junio de 2011 . Consultado el 18 de septiembre de 2013 .
  19. ^ Editor de Amber Huffman (11 de octubre de 2012). "NVM Express Revisión 1.1" (PDF) . Especificación . Consultado el 18 de septiembre de 2013 .
  20. David A. Deming (8 de junio de 2013). "Almacenamiento basado en PCIe" (PDF) . snia.org . Archivado desde el original (PDF) el 20 de septiembre de 2013 . Consultado el 12 de enero de 2014 .
  21. ^ Editor de Amber Huffman (23 de enero de 2013). "NVM Express Revision 1.0e" (PDF) . Especificación . Consultado el 18 de septiembre de 2013 .
  22. ^ "IDT lanza dos controladores SSD PCI-Express NVMe" . El indagador. 2012-08-21 . Consultado el 11 de enero de 2014 .
  23. ^ "IDT muestra el primer procesador NVMe PCIe SSD y diseño de referencia - Actualización de FMS 2012" . La revisión de SSD. 2012-08-24 . Consultado el 11 de enero de 2014 .
  24. ^ "Samsung anuncia el primer SSD NVMe de 2,5 pulgadas de la industria | StorageReview.com - Reseñas de almacenamiento" . StorageReview.com . 2013-07-18. Archivado desde el original el 10 de enero de 2014 . Consultado el 11 de enero de 2014 .
  25. ^ "LSI SF3700 SandForce Flash Controller Line dio a conocer | StorageReview.com - Reseñas de almacenamiento" . StorageReview.com . 2013-11-18. Archivado desde el original el 11 de enero de 2014 . Consultado el 11 de enero de 2014 .
  26. ^ "LSI presenta el controlador SSD de la serie SF3700 ultrarrápido, compatible con PCIe y SATA de 6 Gbps" . hothardware.com . Archivado desde el original el 5 de marzo de 2016 . Consultado el 21 de marzo de 2015 .
  27. ^ Jane McEntegart. "Kingston presenta el primer SSD PCIe: velocidades de lectura de 1800 MB / s" . Hardware de Tom . Consultado el 21 de marzo de 2015 .
  28. ^ "Kingston HyperX Predator PCI Express SSD presentado con controlador LSI SandForce SF3700 PCIe Flash" . hothardware.com . Archivado desde el original el 28 de mayo de 2016 . Consultado el 21 de marzo de 2015 .
  29. ^ "Familia de centros de datos de unidades de estado sólido Intel® para PCIe *" . Intel . Consultado el 21 de marzo de 2015 .
  30. ^ "NVM Express» Historia de la organización NVM Express " . nvmexpress.org . Archivado desde el original el 23 de noviembre de 2015 . Consultado el 23 de diciembre de 2015 .
  31. ^ "Servidor en rack PowerEdge R730xd" . Dell . Consultado el 29 de marzo de 2019 .
  32. ^ "Asociación de la industria de canal de fibra en colaboración con NVM Express, Inc. para definir un nuevo estándar para dispositivos de almacenamiento de estado sólido basados ​​en tela" (Comunicado de prensa).
  33. ^ "NVM Express over Fabrics Revisión 1.0" (PDF) . NVM Express, Inc. 5 de junio de 2016.
  34. ^ Woolf, David (9 de febrero de 2018). "Qué significa NVMe over Fabrics para el almacenamiento de datos" .
  35. ^ Hellwig, Christoph (17 de julio de 2016). "Soporte de NVMe Over Fabrics en Linux" (PDF) .
  36. ^ Stern, Jonathan (7 de junio de 2016). "Anuncio del objetivo SPDK NVMf" .
  37. ^ Randall, Robert (20 de julio de 2016). "Demostración de host / iniciador de Windows NVMeOF en FMS" .
  38. ↑ a b Andy Herron (2013). "Avances en almacenamiento y sistemas de archivos en Windows 8.1" (PDF) . snia.org . Archivado desde el original (PDF) el 10 de enero de 2014 . Consultado el 11 de enero de 2014 .
  39. ^ Amber Huffman (9 de marzo de 2020). "NVM Express Base Specification Revision 1.4a" (PDF) . Especificación . sección 1.4 Teoría de funcionamiento, p. 7 . Consultado el 16 de mayo de 2020 .
  40. ^ Werner Fischer; Georg Schönberger (1 de junio de 2015). "Diagrama de pila de almacenamiento de Linux" . Thomas-Krenn.AG . Consultado el 8 de junio de 2015 .
  41. ^ "NVM Express» ChromeOS agrega soporte de arranque para NVM Express " . nvmexpress.org . Consultado el 21 de marzo de 2015 .
  42. ^ "4f503189f7339c667b045ab80a949964ecbaf93e - chromiumos / platform / depthcharge - Git en Google" . googlesource.com . Consultado el 21 de marzo de 2015 .
  43. ^ "DragonFly BSD 4.6" . www.dragonflybsd.org . Consultado el 8 de septiembre de 2016 .
  44. ^ "Registro de / head / sys / dev / nvme" . Árbol de fuentes de FreeBSD . El Proyecto FreeBSD . Consultado el 16 de octubre de 2012 .
  45. ^ "Registro de / estable / 9 / sys / dev / nvme" . Árbol de fuentes de FreeBSD . El Proyecto FreeBSD . Consultado el 3 de julio de 2013 .
  46. ^ "Notas de la versión de FreeBSD 10.2-RELEASE" . El Proyecto FreeBSD . Consultado el 5 de agosto de 2015 .
  47. ^ "Notas de la versión para Genode OS Framework 18.05" . genode.org .
  48. ^ "Compatibilidad con dispositivos NVMe # 9910" . dev.haiku-os.org . Consultado el 18 de abril de 2019 .
  49. ^ "Controlador NVMe ahora disponible - Proyecto Haiku" . www.haiku-os.org . Consultado el 28 de julio de 2016 .
  50. ^ "4053 Agregar soporte de controlador NVME a Illumos" . github.com . Consultado el 23 de mayo de 2016 .
  51. ^ Ho, Joshua (28 de septiembre de 2015). "Resultados preliminares de iPhone 6s y iPhone 6s Plus" . AnandTech . Consultado el 1 de junio de 2016 .
  52. ^ Chester, Brandon (16 de mayo de 2016). "La revisión del iPhone SE" . AnandTech .
  53. Matthew Wilcox (3 de marzo de 2011). "Controlador NVM Express" . LWN.net . Archivado desde el original el 17 de julio de 2012 . Consultado el 5 de noviembre de 2013 .
  54. Keith Busch (12 de agosto de 2013). "Controlador NVMe para Linux" (PDF) . flashmemorysummit.com . Consultado el 5 de noviembre de 2013 .
  55. ^ "Laboratorio práctico de IDF13: compilación del controlador de código abierto NVM Express Linux y los puntos de referencia y optimizaciones de SSD Linux" (PDF) . activeevents.com . 2013. Archivado desde el original (PDF) el 11 de enero de 2014 . Consultado el 11 de enero de 2014 .
  56. ^ "Fusionar git: //git.infradead.org/users/willy/linux-nvme" . kernel.org . 2012-01-18 . Consultado el 5 de noviembre de 2013 .
  57. ^ "La interfaz SSD 'NVM Express' más rápida llega a Retina MacBook y OS X 10.10.3" . macrumors.com . Consultado el 11 de abril de 2015 .
  58. ^ "nvme - Interfaz de controlador de host de memoria no volátil" . Páginas de manual de NetBSD . 2016-01-01 . Consultado el 2 de septiembre de 2016 .
  59. David Gwynne (16 de abril de 2014). "controlador expreso de memoria no volátil (/sys/dev/ic/nvme.c)" . Referencia cruzada BSD . Consultado el 27 de abril de 2014 .
  60. David Gwynne (14 de abril de 2016). "hombre 4 nvme" . Página de manual de OpenBSD . Consultado el 7 de agosto de 2016 .
  61. ^ "nvme (7D)" . Oracle . Consultado el 2 de diciembre de 2014 .
  62. ^ "Intel de estado sólido para controladores NVMe" . intel.com . 2015-09-25 . Consultado el 17 de marzo de 2016 .
  63. ^ "Guía de compatibilidad de VMware para dispositivos NVMe" . vmware.com . Consultado el 17 de marzo de 2016 .
  64. ^ "VSAN ahora admite dispositivos NVMe" . vmware.com . 2015-11-11 . Consultado el 17 de marzo de 2016 .
  65. ^ "Windows 8.1 para admitir discos híbridos y agrega controlador NVMe nativo" . Myce.com . 2013-09-06 . Consultado el 11 de enero de 2014 .
  66. ^ "Actualización para admitir NVM Express mediante el uso de controladores nativos en Windows 7 o Windows Server 2008 R2" . Microsoft. 2014-11-13 . Consultado el 17 de noviembre de 2014 .
  67. ^ https://www.win-raid.com/t29f25-Recommended-AHCI-RAID-and-NVMe-Drivers.html
  68. ^ http://bbs.wuyou.net/forum.php?mod=viewthread&tid=420990&extra=page%3D1
  69. ^ https://www.win-raid.com/t29f25-Recommended-AHCI-RAID-and-NVMe-Drivers.html
  70. ^ La revisión de Toshiba RC100 SSD: unidad pequeña en un gran mercado
  71. ^ Kim K, Kim T (2020) HMB en SSD NVMe sin DRAM: su uso y efectos sobre el rendimiento. PLOS ONE 15 (3): e0229645.
  72. ^ "Windows NVM Express" . Sitio web del proyecto . Archivado desde el original el 12 de junio de 2013 . Consultado el 18 de septiembre de 2013 .
  73. ^ https://svn.openfabrics.org/svnrepo/nvmewin/releases/
  74. ^ "ChangeLog / 1.6" . qemu.org . Consultado el 21 de marzo de 2015 .
  75. ^ "Descargar EDK II desde" . SourceForge.net . Consultado el 11 de enero de 2014 .
  76. ^ Utilidad de control NVM Express , The FreeBSD Project, 12 de marzo de 2018 , consultado el 12 de julio de 2019
  77. ^ GitHub - linux-nvme / nvme-cli: interfaz de línea de comandos de administración de NVMe. , linux-nvme, 2019-03-26 , consultado el 2019-03-27

Enlaces externos [ editar ]

  • Página web oficial
  • LFCS: Preparación de Linux para dispositivos de memoria no volátil , LWN.net , 19 de abril de 2013, por Jonathan Corbet
  • Almacenamiento PCI Express de múltiples rutas , Linux Foundation , 12 de marzo de 2015, por Keith Busch
  • Introducción de NVMe, NVMe-oF y RDMA para ingenieros de redes , agosto de 2020, por Jerome Tissieres