Cómo funciona la memoria 3D XPoint
En el año 2015, las compañías Intel y Micron anunciaron que habían creado una tecnología de memoria llamada 3D XPoint que podría ser hasta 1000 veces más rápida y que tendría hasta 1000 veces más resistencia que la memoria flash NAND. Además, podría obtener densidades de almacenamiento hasta 10 veces superiores a las actuales memorias. Sin embargo, los primeros productos lanzados no estuvieron a la altura que se esperaba.
Hay que decir que 3D XPoint tiene una arquitectura diferente a la de otros productos flash. Esta nueva memoria se basa en la tecnología de cambio de fase, con un punto de cruce sin transistores que coloca selectores y celdas de memoria en la intersección de las interconexiones perpendiculares como se puede ver en la imagen superior.
A esas celdas, hechas de un material no especificado, se puede acceder individualmente mediante una corriente enviada a través de las interconexiones superior e inferior que tocan cada celda. Para mejorar la densidad de almacenamiento, las celdas 3D XPoint se pueden apilar en tres dimensiones.
Cada celda almacena un solo bit, es decir, que puede tener el estado 0 o el 1, representado a través de un cambio de propiedad del material de la celda que modificaría la resistencia de ésta. La celda puede ocupar un estado de resistencia alta o baja, representando así la información binaria. Debido a que las celdas son persistentes, mantienen sus valores indefinidamente, incluso cuando hay es una pérdida del suministro de energía, es decir, serían no volátiles.
Las operaciones de acceso, es decir, de lectura y escritura ocurren al variar la cantidad de voltaje enviado a cada selector. Para las operaciones de escritura, se envía un voltaje específico a través de interconexiones de una celda y un selector. Esto activa el selector y permite que el voltaje pase a la celda para iniciar el cambio de propiedad general. Para las operaciones de lectura, se envía un voltaje diferente para determinar si la celda está en un estado de resistencia alta o baja. Así es como funcionan estas memorias.
Por otro lado, hay que decir también que 3D XPoint tiene la capacidad de escribir datos bit a bit, una ventaja sobre NAND. En la NAND todos los bits de cada bloque deben borrarse antes de que se puedan escribir los nuevos valores. En teoría, esta capacidad permite que 3D XPoint tenga un mayor rendimiento y un menor consumo de energía que el flash NAND.
Implementaciones
- En 2017 llegaría el primer Intel Optane SSD DC P4800X de 375 GB basado en 3D XPoint. Una unidad que actúa como una memoria intermedia en equipos con procesador Intel y placas base con chipset compatible. Según Intel, la unidad P4800X tuvo un desempeño de cinco a ocho veces más rápido que la DC P3700 basada en flash NAND de la empresa en pruebas internas en colas de baja profundidad utilizando una carga de trabajo mixta. El P4800X puede alcanzar hasta 500 000 IOPS, o aproximadamente 2 GBps, con una profundidad de cola de 11.
- Micron QuantX también llegaría en 2017. Se trataba de una memoria de almacenamiento basada en 3D XPoint.
- En la arquitectura 3D XPoint los datos ya no tienen que almacenarse por bloques de 4KB como en las memorias flash NAND. Esta pila de E/S de archivo resulta lenta, y con 3D XPoint todo se agiliza al poder accceder a pequeñas cantidades de datos de forma más rápida y eficiente.
- No es tan rápida como la DRAM, pero 3D XPoint es más rápida que la memoria flash NAND, y esto es positivo si se tiene en cuenta que se trata también de una memoria no volátil.
- Es una memoria versátil, ya que puede usar tanto formatos M.2 para usar un bus PCIe, como también implementarse en módulos DIMM.
- La nueva tecnología 3D XPoint es más cara que la flash NAND convencional.
- Las velocidades predichas por Intel y Micron no se han cumplido. Algunos creen que porque el bus PCIe empleado podría estar limitando su rendimiento.
- También tiene otros problemas agregados, y es que para su aprovechamiento, también hay que realizar cambios en el sistema. Por ejemplo, el uso de un compilador que pueda declarar esta memoria como persistente para que las aplicaciones puedan usar el sistema E/S para poder realizar accesos.
- Como parte de la memoria virtual del sistema operativo para que éste pueda pasar allí los procesos que no caben en la memoria RAM en vez de almacenarlos en un pagefile.sys o SWAP en la unidad más lenta.
- Optimización de aplicaciones específicas.
- Para campos como los servidores de los centros de datos y para HPC con los Intel Xeon.
- Almacenar bases de datos grandes de forma que se pueda acceder a ellas rápidamente.
- Ayudar a superar los cuellos de botella de red en Big Data.
- Facilitar aplicaciones informáticas de alto rendimiento.
- Aumentar el rendimiento en instancias de la nube.
- Usarse como niveles de memoria primarios en sistemas hiperconvergentes.