Almacenamiento persistente en memoria (PMEM): qué es y cómo se usa

Última actualización: diciembre 5, 2025
Autor: Isaac
  • La memoria persistente (PMEM) crea un nuevo nivel entre DRAM y almacenamiento, combinando baja latencia y no volatilidad.
  • Puede usarse como disco por bloques o memoria direccionable por bytes (DAX), con BTT para proteger frente a escrituras incompletas.
  • Plataformas como Windows Server, vSphere, Linux o Exadata integran PMEM como caché ultrarrápida y almacén de datos calientes.
  • PMEM impulsa bases de datos en memoria, big data, IA y virtualización, aunque su coste y compatibilidad exigen un uso estratégico.

memoria persistente pmem

La explosión de datos en las empresas ha cambiado por completo el juego: ya no basta con tener discos rápidos o más RAM, ahora hace falta acercar los datos al procesador y mantenerlos a salvo incluso cuando se apaga el sistema. Ahí es donde entra en escena el almacenamiento persistente en memoria o PMEM, una tecnología que durante unos años ha sido la niña bonita de los centros de datos más exigentes.

Aunque algunos productos comerciales como Intel Optane hayan desaparecido, la idea que hay detrás de la memoria persistente sigue más viva que nunca: un nivel intermedio entre la DRAM y el almacenamiento tradicional que combina buena parte de las virtudes de ambos mundos. Si alguna vez te has preguntado qué es exactamente PMEM, cómo funciona, en qué se diferencia de la RAM, SSD, NVMe, o cómo se usa en Windows Server, vSphere, Kubernetes o plataformas como Exadata, aquí tienes una guía completa y sin rodeos.

¿Qué es el almacenamiento persistente en memoria o PMEM?

Cuando hablamos de PMEM (Persistent Memory) o memoria de clase de almacenamiento (SCM), nos referimos a un tipo de memoria de estado sólido no volátil que se monta en ranuras DIMM estándar de servidor, igual que la DRAM. Su particularidad es que conserva el contenido incluso después de un apagado, un corte de luz o un cuelgue del sistema.

En términos de rendimiento, la memoria persistente se sitúa entre la DRAM y el almacenamiento flash NVMe/SSD: es algo más lenta que la RAM pero muy superior a cualquier dispositivo de bloque tradicional. A cambio, ofrece capacidades mucho más grandes que la DRAM y un coste por GB sensiblemente menor, aunque todavía por encima de NVMe y SSD convencionales.

Este equilibrio hace que PMEM encaje como un nuevo nivel en la jerarquía de memoria y almacenamiento: más rápida y cercana a la CPU que el almacenamiento, pero mucho más grande y duradera que la memoria principal. Por eso también se la engloba dentro del paraguas de la llamada memoria de clase de almacenamiento (SCM).

En la práctica, los módulos de memoria persistente pueden actuar como caché de altísimo rendimiento, como espacio de almacenamiento ultrarrápido o como ampliación de memoria para grandes bases de datos y cargas de trabajo analíticas, dependiendo del modo de uso que elijamos.

Conceptos clave de memoria persistente (PMEM)

Para aprovechar bien la memoria persistente en entornos como Azure Local, Windows Server, vSphere, Linux o Exadata, conviene dominar una serie de conceptos básicos que se repiten en prácticamente todas las plataformas.

Métodos de acceso: bloque y DAX

La PMEM se puede exponer al sistema operativo de dos formas principales, que determinan cómo interactúan las aplicaciones con estos módulos:

  • Acceso por bloques: la memoria persistente se presenta como si fuera un dispositivo de almacenamiento tradicional (un disco). En este modo, los datos pasan por el sistema de archivos y la pila de almacenamiento habitual, y se puede usar con NTFS, ReFS, EXT4 y otros sistemas de archivos. Es el enfoque recomendado para la mayoría de aplicaciones porque aporta compatibilidad y seguridad.
  • Acceso directo (DAX): el sistema de archivos (por ejemplo NTFS con DAX) permite que las aplicaciones accedan a la memoria persistente de forma direccionable por bytes, como si fuera RAM, sin pasar por la caché de página del sistema operativo. Esto reduce la latencia al mínimo, pero exige extremar el cuidado: si no se diseña bien la aplicación, se pueden producir pérdidas de datos en situaciones de fallo o cortes de energía.

En el modo DAX se recomienda activar siempre mecanismos como la tabla de traslación de bloques (BTT), que proporciona semántica de actualización atómica a nivel de sector para evitar escrituras a medio completar en caso de fallo.

Regiones e intercalado de módulos PMEM

En los servidores, los módulos de memoria persistente se agrupan en lo que se denomina regiones. Una región es un conjunto de uno o varios DIMM de PMEM que, normalmente, se configuran en el BIOS o firmware del servidor como «conjuntos intercalados».

El intercalado permite que varios módulos se presenten al sistema como un único espacio de direcciones lógico, repartiendo las direcciones adyacentes entre distintos DIMM para aumentar el ancho de banda efectivo. Esta técnica es muy similar a un RAID por bandas pero aplicada a memoria: dos o cuatro vías de intercalado son configuraciones muy habituales en servidores de gama alta.

PmemDisk, espacios de nombres y BTT en Windows

En Windows Server y Azure Local, cuando se quiere consumir PMEM como almacenamiento, se trabaja con el concepto de PmemDisk: un disco virtual que representa un rango contiguo de direcciones de memoria no volátil. Este PmemDisk se ve en el host como un disco y puede presentarse a máquinas virtuales como un VHD ubicado sobre PMEM.

Cada módulo de memoria persistente incorpora un área de almacenamiento de etiquetas (LSA) donde se guardan los metadatos de configuración: regiones, discos lógicos, espacios de nombres, etc. Sobre estos discos lógicos se habilita la ya mencionada tabla de traslación de bloques (BTT), que es crítica para evitar corrupciones por escrituras incompletas.

En modo de acceso por bloques, BTT es prácticamente obligatoria, ya que todo el flujo de datos se maneja con semántica de bloques. En modo DAX, aunque las aplicaciones puedan usar mapeos de memoria sin bloques, los metadatos del sistema de archivos siguen escribiéndose por bloques, así que BTT sigue siendo muy valiosa para reducir el riesgo de inconsistencias.

  ¿Cuáles son las características principales de Windows 10?

Hardware soportado y modos de funcionamiento

En el mundo real, la memoria persistente se ha materializado sobre todo en dos grandes familias de productos: NVDIMM-N clásicos y la memoria persistente Intel Optane DC. Windows Server 2019, Azure Local y muchas distribuciones Linux soportan ambos tipos, con matices según versión.

Intel Optane DC Persistent Memory, por ejemplo, ofrecía dos modos principales de operación configurables desde BIOS:

  • Modo Memoria (Memory Mode): la PMEM se usa como «RAM de gran capacidad» y la DRAM actúa como caché de altísimo rendimiento. Desde el punto de vista del sistema, todo parece DRAM, pero en realidad la parte masiva reside en PMEM. En este modo, los datos no se consideran persistentes tras un corte de energía.
  • Modo App Direct (Directo de la aplicación): la memoria persistente se expone de forma explícita como almacenamiento no volátil de baja latencia. Aquí es donde se consiguen los mayores beneficios para bases de datos, sistemas de ficheros, cachés y aplicaciones que quieren un almacenamiento casi tan rápido como la memoria.

Algunas plataformas también permitían un modo mixto, dividiendo cada módulo entre parte dedicada a App Direct y parte dedicada a Memory Mode, para equilibrar capacidad persistente y memoria volátil ampliada según el caso de uso.

Ventajas, límites y comparativa con otras tecnologías

La gracia de la memoria persistente no está solo en que sea no volátil, sino en que se coloca directamente en el bus de memoria, al lado de la CPU. Esto elimina capas de software de la ruta de E/S respecto a discos y SSD, y explica por qué su rendimiento es tan atractivo para determinadas cargas de trabajo.

PMEM frente a DRAM

La DRAM sigue siendo el campeón absoluto en latencia y ancho de banda, pero es claramente volátil y se dispara de precio cuando queremos módulos de gran capacidad (128 GB, 256 GB, 512 GB). Además, el coste total de un servidor empieza a dispararse cuando la memoria representa la mayor parte del presupuesto.

La memoria persistente, en cambio, ofrece módulos de gran tamaño a un coste por gigabyte menos agresivo. Aunque su latencia es superior a la DRAM, sigue estando en el rango de los nanosegundos, muy por debajo de cualquier SSD. Esto permite diseños de memoria por niveles donde:

  • La DRAM actúa como capa de caché ultra rápida.
  • La PMEM se usa como capa de capacidad cercana a la CPU, con más tamaño pero ligeramente menos rápida.

En servidores con varios sockets, es posible montar terabytes de memoria efectiva combinando DRAM y PMEM, lo que abre la puerta a bases de datos en memoria gigantes, análisis de big data y aplicaciones que antes simplemente no cabían en RAM.

PMEM frente a SSD, HDD y NVMe

Los discos duros (HDD) ofrecen mucha capacidad, pero latencias muy elevadas y partes mecánicas que limitan el rendimiento. Los SSD y especialmente NVMe han recortado muchísimo esa distancia, con IOPS y latencias muy superiores a los HDD, y conviene conocer la vida útil de un SSD. Sin embargo, siguen conectados vía PCIe o redes de almacenamiento, lejos de la CPU si los comparamos con el bus de memoria.

La PMEM da un salto más y se coloca en el propio bus de memoria, lo que significa:

  • Tiempos de acceso notablemente inferiores a NVMe, especialmente cuando se usa en modo DAX direccionable por bytes.
  • Mayor integración con el modelo de memoria del sistema, permitiendo mapeos directos en el espacio de direcciones de las aplicaciones.
  • Coste por gigabyte mayor que NVMe, pero con una relación rendimiento/latencia muy superior para datos críticos.

Por eso no tiene sentido reemplazar todo el almacenamiento por PMEM, pero sí usar una pequeña cantidad como nivel superior de caché o almacenamiento ultrarrápido para los datos más calientes de la aplicación.

Beneficios prácticos en entornos empresariales

Integrar memoria persistente en un diseño de centro de datos moderno aporta varias ventajas que se repiten una y otra vez en benchmarks y casos reales:

  • Rendimiento mejorado: más IOPS, más rendimiento secuencial y mejor aprovechamiento de la CPU al reducir tiempos de espera de E/S.
  • Latencias extremadamente bajas y predecibles, en el orden de decenas de microsegundos vistas desde las capas de sistema de archivos.
  • No volatilidad: los datos permanecen incluso en cortes de energía o apagados controlados, lo que reduce los tiempos de arranque y recuperación.
  • Escalabilidad: se pueden añadir más módulos PMEM para ir ampliando capacidad sin rediseñar por completo la arquitectura.
  • Mejor TCO en escenarios donde aumentar DRAM pura sería prohibitivo, ya que se consigue más memoria utilizable a menor coste global.
  • Mayor seguridad de los datos en memoria al combinar PMEM con cifrado y controles de acceso adecuados.

Eso sí, también hay que tener en cuenta ciertos inconvenientes y limitaciones: compatibilidad desigual según hardware y sistema operativo, coste todavía alto respecto al almacenamiento tradicional, capacidades por módulo finitas y la necesidad de adaptar aplicaciones si queremos exprimir de verdad el modo DAX. Además, conviene realizar pruebas con herramientas como Memtest64 en Windows para validar la integridad en entornos de producción.

Casos de uso típicos de la memoria persistente

La memoria persistente brilla especialmente en aplicaciones donde cada microsegundo cuenta y hay grandes volúmenes de datos activos. No se trata solo de ir rápido, sino de mantener esa velocidad de forma consistente.

  ¿Cómo acceder a las variables de entorno en Windows 10?

Bases de datos en memoria y analítica

Plataformas como SAP HANA, bases de datos in-memory, Oracle o MSSQL han sido de las primeras en sacar partido claro a PMEM. Gracias a la combinación de DRAM y memoria persistente pueden:

  • Cargar bases de datos gigantescas en memoria efectiva sin que el coste se dispare tanto.
  • Reducir los tiempos de reinicio, ya que gran parte del estado queda persistido en PMEM y no hay que reconstruir todo desde disco.
  • Minimizar la latencia de acceso a tablas y estructuras críticas, lo que se traduce en consultas y transacciones mucho más rápidas.

En muchos casos, basta con mover los logs de transacciones o archivos de datos más calientes a una capa PMEM expuesta como sistema de archivos o dispositivo de bloque para notar un salto importante en rendimiento.

Big Data, IA, aprendizaje automático y analítica en tiempo real

Los clústeres dedicados a análisis de grandes volúmenes de datos, cargas de trabajo tipo Hadoop, Spark o motores de IA generan un volumen brutal de operaciones de E/S. Aquí la PMEM actúa como una especie de «turbo» entre memoria y almacenamiento:

  • Permite que los conjuntos de datos de entrenamiento y modelos se almacenen muy cerca de la CPU, acelerando ciclos de entrenamiento.
  • Reduce los cuellos de botella de E/S en escenarios con muchas lecturas y escrituras pequeñas.
  • Facilita arquitecturas por niveles donde solo la parte más caliente de los datos vive en PMEM, mientras que el resto se queda en SSD o HDD.

En aplicaciones de IoT o analítica en tiempo real, disponer de un nivel de almacenamiento ultrarrápido junto al procesador permite reaccionar antes a eventos, procesar flujos de datos continuos y mantener historiales críticos con latencias mínimas.

Virtualización y memoria persistente en vSphere

En entornos VMware vSphere, la memoria persistente se integra como un almacén de datos local de PMEM a partir de vSphere 6.7. Las máquinas virtuales pueden consumir esa memoria de dos formas:

  • vPMem (NVDIMM virtual): el sistema operativo invitado ve un módulo NVDIMM virtual y puede usar la memoria persistente como memoria direccionable por bytes, ideal para bases de datos y aplicaciones que soportan DAX.
  • vPMemDisk: se presenta un disco SCSI virtual cuyo backing está en el almacén de datos de PMEM, de manera que para el invitado es simplemente un disco ultrarrápido.

En ambos casos, la memoria persistente se reserva para la máquina virtual cuando se crea el disco o el dispositivo vNVDIMM, y permanece reservada aunque la VM esté apagada hasta que se borra o migra. Dado que PMEM es local al host, la migración de máquinas virtuales con vPMem requiere Storage vMotion a otro host con recursos de PMEM disponibles.

Hay que tener presente que, al estar tan cerca del hardware, algunas herramientas tradicionales de backup y gestión de snapshots no funcionan igual que con discos normales, por lo que la planificación de recuperación ante desastres debe adaptarse a estas particularidades.

Contenedores, volúmenes y volúmenes persistentes

En el mundo de los contenedores, la palabra «persistente» es casi mágica, porque un contenedor por diseño es efímero y sin estado. Cada vez que se recrea una imagen, se pierde todo lo que no esté fuera de su sistema de archivos.

Aquí entra en juego el concepto de almacenamiento persistente para contenedores, normalmente implementado mediante volúmenes que se montan dentro del contenedor. Los contenedores tratan ese volumen como un directorio más, pero los datos viven fuera de su ciclo de vida.

Es importante distinguir:

  • Volúmenes «normales»: los datos sobreviven a reinicios del contenedor, pero si se elimina el contenedor y su volumen asociado, se pierde la información.
  • Volúmenes persistentes (bind mounts o PV en Kubernetes): los datos se almacenan fuera del sistema de archivos del contenedor, en el host o en un backend de almacenamiento, y persisten aunque el contenedor se destruya. Solo desaparecen si se borran explícitamente.

Plataformas como Kubernetes o servicios gestionados (por ejemplo, soluciones de alojamiento de aplicaciones en contenedores con volúmenes persistentes) gestionan estos volúmenes a través de PersistentVolumes y PersistentVolumeClaims, permitiendo que varias réplicas de una aplicación compartan datos consistentes aunque los pods aparezcan y desaparezcan.

Detrás de estos volúmenes persistentes, el proveedor puede usar HDD, SSD, NAS, SAN, NVMe o incluso PMEM como capa física, pero para el desarrollador el detalle se abstrae en una API simple para pedir almacenamiento duradero.

Arquitecturas de almacenamiento persistente: objetos, bloques y archivos

Cuando se habla de almacenamiento persistente a nivel de arquitectura, no todo es PMEM. Existen distintos enfoques que se adaptan a tipos de datos y patrones de acceso diferentes, y que pueden convivir con memoria persistente como nivel superior.

Almacenamiento de objetos

El almacenamiento de objetos, típico de soluciones en la nube, organiza los datos en objetos con metadatos y un identificador único, en lugar de estructuras jerárquicas de directorios. Es ideal para:

  • Datos no estructurados como imágenes, vídeos, logs, copias de seguridad o documentos.
  • Servicios de CDN y distribución de contenidos, donde la escalabilidad y durabilidad priman sobre la latencia absoluta.
  • Plataformas de big data y analítica que necesitan almacenar enormes conjuntos de datos a un coste razonable.

Aunque la PMEM no suele actuar directamente como backend de almacenamiento de objetos, sí puede utilizarse como capa de caché o nivel caliente delante de un almacén de objetos más lento, acelerando accesos frecuentes.

Almacenamiento en bloque

El almacenamiento en bloque presenta los datos como dispositivos de bloques direccionables (LUN, discos virtuales, etc.), y es la base de la mayoría de bases de datos, sistemas de ficheros de servidores y soluciones de alto rendimiento.

  Resolviendo Problema de Audio HDMI en Windows 10

Este enfoque se utiliza en:

  • Informática de alto rendimiento (HPC), donde se manejan grandes volúmenes de datos científicos o financieros que necesitan acceso paralelo y baja latencia.
  • Edición y renderización de vídeo, que requieren E/S intensiva y estable para gestionar archivos de gran tamaño en tiempo real.
  • Juegos y motores de simulación, donde la carga rápida de recursos y mundos es clave para la experiencia de usuario.

La memoria persistente encaja de maravilla en este modelo, ya que se puede presentar como dispositivo de bloque ultrarrápido (PmemDisk, namespaces, etc.) encima del cual se monta un sistema de archivos estándar o se deja a las bases de datos trabajar de forma cruda.

Almacenamiento basado en archivos (file store)

El clásico sistema de archivos compartido sigue siendo la base para multitud de aplicaciones empresariales, desde CMS web hasta sistemas de colaboración o edición multimedia. Soluciones tipo NAS, NFS, SMB o servicios de file share en la nube entran en esta categoría.

En estos entornos, la memoria persistente puede actuar como caché avanzada o nivel de almacenamiento activo, manteniendo en PMEM los ficheros más consultados o los índices críticos para el rendimiento, mientras el resto se aloja en SSD o HDD más baratos.

PMEM en plataformas concretas: Windows, vSphere, Linux y Exadata

Aunque el concepto de memoria persistente es común, cada plataforma lo implementa a su manera. Conviene repasar cómo se materializa en algunos de los entornos más utilizados en centros de datos.

Windows Server y Azure Local

En Windows Server 2019 y posteriores, así como en Azure Local, la memoria persistente se puede usar tanto como caché de almacenamiento como unidad de capacidad. Dado el coste de PMEM, suele aportar más valor cuando se utiliza:

  • Como capa de caché delante de discos más lentos.
  • Como pequeño almacén dedicado para datos en memoria muy calientes o estructuras de metadatos clave.

La creación de discos lógicos sobre PMEM se realiza con cmdlets de PowerShell como New-VHD con tipo .vhdpmem y definiendo si se usará BTT o no. Después se pueden gestionar con comandos como Get-PmemDisk, Get-PmemPhysicalDevice, New-PmemDisk, Remove-PmemDisk o Initialize-PmemPhysicalDevice, que permiten revisar regiones sin asignar, crear conjuntos intercalados, limpiar metadatos dañados y reaprovisionar módulos defectuosos; para análisis de memoria en Windows, ver cómo usar RamMap en Windows.

En escenarios de alta disponibilidad basados en Espacios de almacenamiento directo (Storage Spaces Direct), la combinación de PMEM como caché y NVMe como capacidad ha demostrado ser capaz de alcanzar cifras de rendimiento espectaculares, con decenas de millones de IOPS y latencias por debajo de los 40 microsegundos en lecturas.

vSphere y ESXi

En VMware vSphere, la memoria persistente se descubre como espacios de nombres PMEM configurados antes del arranque de ESXi. El hipervisor lee esos espacios de nombres, los combina en volúmenes lógicos con tablas GPT y los monta como almacenes de datos de PMEM.

Sobre estos almacenes de datos se pueden crear:

  • vPMem (dispositivos vNVDIMM) para exponer PMEM como memoria direccionable por bytes a la VM.
  • vPMemDisk (discos virtuales ubicados en almacenes de datos PMEM) para usarla como almacenamiento ultrarrápido.

La gestión de errores, migraciones (Storage vMotion) y control de admisión de recursos de PMEM requiere cierta atención, ya que cada volumen PMEM pertenece a un host concreto y la alta disponibilidad debe tener en cuenta que no todos los nodos pueden tener la misma cantidad de memoria persistente disponible.

Linux, NVDIMM y Red Hat

En Linux, y en concreto en distribuciones empresariales como Red Hat Enterprise Linux, los dispositivos NVDIMM se exponen como memoria de clase de almacenamiento (pmem) y se pueden gestionar con herramientas específicas del kernel, como explican las novedades del kernel Linux, y utilidades de espacio de usuario.

El administrador puede formatear NVDIMM como almacenamiento, usarlos como swap, configurar espacios de nombres, o exponerlos a aplicaciones que entiendan de memoria persistente. Red Hat documenta escenarios de instalación de RHEL sobre NVDIMM, así como casos de uso donde la combinación de durabilidad de almacenamiento y latencia tipo RAM marca la diferencia.

Oracle Exadata y caché PMEM

Sistemas integrados como Oracle Exadata X8M y posteriores han incorporado memoria persistente como capa de almacenamiento más caliente, combinándola con caché flash inteligente y discos tradicionales.

En estos sistemas, la PMEM se usa como caché de lectura y escritura de muy baja latencia, alcanzando tiempos de servicio por debajo de los 19 microsegundos para muchas operaciones. Las estadísticas de rendimiento (por ejemplo, en AWR: visitas de lectura/escritura a la caché PMEM) permiten verificar el impacto real de esta capa.

Al migrar este tipo de cargas a la nube (por ejemplo, a AWS), no siempre hay soporte directo para PMEM en instancias EC2. Sin embargo, se pueden acercar relativamente usando instancias con mucha memoria, cachés en memoria tipo SGA grandes y servicios de almacenamiento de baja latencia como Amazon FSx for OpenZFS, que ofrecen IOPS muy altos y latencias de pocos cientos de microsegundos.

Aunque algunos productos de memoria persistente hayan llegado a su fin comercial, la idea de disponer de un nivel intermedio entre memoria y almacenamiento tradicional sigue siendo fundamental en el diseño de infraestructuras modernas: desde bases de datos en memoria o plataformas de virtualización hasta clústeres de contenedores y sistemas integrados, PMEM y las arquitecturas de almacenamiento persistente en general permiten reducir drásticamente latencias, mejorar la resiliencia de los datos y exprimir mejor el hardware disponible, y todo apunta a que futuras tecnologías de memoria no volátil seguirán recorriendo este mismo camino.

mejores benchmarks y herramientas para medir el rendimiento de tu PC
Artículo relacionado:
Los mejores benchmarks y herramientas para medir el rendimiento de tu PC