---
title: "CRAM: la memoria RAM comprimida por hardware que podría aliviar la escasez de memoria"
description: "CRAM propone una forma distinta de aprovechar la memoria de los servidores: mantener páginas de memoria comprimidas y permitir que el procesador lea sus datos directamente mediante hardware especializ..."
url: https://revistacloud.com/cram-la-memoria-ram-comprimida-por-hardware-que-podria-aliviar-la-escasez-de-memoria/
date: 2026-10-13
modified: 2026-10-13
author: "Antonio"
image: https://revistacloud.com/wp-content/uploads/2026/10/cram.jpg
categories: ["Noticias"]
tags: ["CRAM", "linux", "zram"]
type: post
lang: es
---

# CRAM: la memoria RAM comprimida por hardware que podría aliviar la escasez de memoria

CRAM propone una forma distinta de aprovechar la memoria de los servidores: mantener páginas de memoria comprimidas y permitir que el procesador lea sus datos directamente mediante hardware especializado, sin que Linux tenga que recuperar y descomprimir cada página antes de utilizarla. La propuesta, presentada por Gregory Price, de Meta, en la Linux Plumbers Conference, busca superar algunas de las limitaciones de las soluciones actuales por software, como zram y zswap.

Las claves de CRAM en 30 segundos

- CRAM plantea una memoria comprimida accesible directamente por el procesador gracias a un controlador de compresión y descompresión integrado en el hardware.
- A diferencia de zram y zswap, su objetivo es evitar que Linux tenga que reconstruir una página en la memoria convencional antes de atender una lectura.
- La propuesta contempla trasladar a la DRAM ordinaria las páginas cuando una escritura requiere modificarlas.
- Las pruebas presentadas registraron hasta 452 veces más rendimiento de lectura que zram en un escenario diseñado para aislar determinados costes.
- La idea podría ayudar a aprovechar mejor la memoria física de los servidores, pero necesita hardware específico y todavía no equivale a una solución comercial generalizada.

El interés de CRAM aumenta en un momento en el que el coste de la memoria preocupa a los operadores de centros de datos. Si un servidor puede almacenar más información en la misma cantidad de RAM física sin penalizar en exceso las lecturas, podría reducir la presión para ampliar la memoria instalada. Sin embargo, el valor de la propuesta depende de cómo se comporte con cargas reales y de que los fabricantes desarrollen hardware capaz de hacerla posible.

## Por qué zram y zswap no resuelven el mismo problema

Linux ya dispone de mecanismos para reducir la cantidad de memoria física necesaria. Dos de los más conocidos son zram y zswap, aunque sus funciones no son idénticas.

zram crea un dispositivo de bloques respaldado por RAM que almacena los datos comprimidos. Se utiliza habitualmente como espacio de intercambio o swap. Cuando el sistema necesita recuperar una página almacenada allí, debe reconstruir su contenido para que la aplicación pueda utilizarlo.

zswap, por su parte, funciona como una caché comprimida situada delante de un dispositivo de intercambio real. Conserva temporalmente páginas comprimidas en memoria y puede reducir las operaciones de entrada y salida hacia el almacenamiento secundario. Cuando la caché necesita liberar espacio, los datos pueden acabar en el dispositivo de intercambio que la respalda.

Ambos mecanismos pueden mejorar el aprovechamiento de la memoria, pero siguen dependiendo del funcionamiento del sistema operativo para gestionar la recuperación de los datos. Cuando una aplicación necesita acceder a una página que no está disponible en su ubicación de memoria activa, Linux puede tener que gestionar un fallo de página, recuperar su contenido y descomprimirlo por software.

Ese proceso añade trabajo antes de que la aplicación pueda continuar. El coste depende de las circunstancias, del algoritmo de compresión, de la carga de trabajo y de dónde se encuentren los datos.

CRAM intenta cambiar precisamente ese punto. Su propuesta no consiste simplemente en comprimir más páginas, sino en permitir que el procesador lea datos almacenados en una memoria comprimida sin exigir que Linux los reconstruya primero en la DRAM convencional.

## CRAM necesita hardware capaz de leer datos comprimidos

El diseño coloca las funciones de compresión y descompresión en un controlador de hardware asociado a la memoria. Las páginas permanecen comprimidas dentro del dispositivo y el controlador devuelve los datos descomprimidos cuando el procesador solicita una lectura.

Desde el punto de vista de la aplicación, la intención es conservar el acceso mediante direcciones de memoria normales. La complejidad queda en buena parte en la infraestructura que gestiona el almacenamiento comprimido y las transferencias.

La diferencia es importante porque la compresión deja de ser una operación que el sistema operativo debe ejecutar antes de cada recuperación de una página. En determinadas cargas, sobre todo cuando se leen datos con frecuencia y se modifican poco, ese cambio podría reducir la sobrecarga asociada a la recuperación de memoria.

Pero la propuesta no elimina el trabajo del kernel. Linux sigue necesitando gestionar la ubicación de las páginas, su protección, la recuperación de memoria disponible, las migraciones y las decisiones sobre qué datos permanecen comprimidos y cuáles vuelven a la memoria ordinaria.

También hay una limitación física: los datos comprimidos no siempre ocupan menos espacio. Una página de 4 KiB podría reducirse a 1 KiB si su contenido admite una compresión eficaz, pero una página con datos poco compresibles puede conservar casi su tamaño original.

Las escrituras añaden otra dificultad. Si una página comprimida ocupa 1 KiB y una modificación hace que sus datos necesiten cerca de 4 KiB, el dispositivo debe gestionar ese cambio. El enfoque descrito contempla que las páginas comprimidas permanezcan en modo de solo lectura y que una escritura provoque su migración a la DRAM convencional antes de modificarlas.

Este comportamiento puede ser útil cuando predominan las lecturas, aunque el resultado dependerá de la proporción entre lecturas y escrituras, de la compresibilidad de los datos y de la frecuencia con la que las páginas deban migrar.

## El resultado de 452 veces más rendimiento necesita contexto

Una de las cifras más llamativas asociadas al trabajo de CRAM es una mejora de hasta 452 veces en el rendimiento de lectura frente a zram. El dato, sin embargo, no significa que una aplicación completa vaya a ejecutarse 452 veces más rápido.

La comparación se realizó en un entorno con memoria DRAM que emulaba el comportamiento de un futuro dispositivo de memoria comprimida. El propósito era aislar la sobrecarga relacionada con los fallos de página y la descompresión por software, y evaluar las ventajas potenciales de permitir lecturas directas desde páginas comprimidas.

Es una distinción importante. Un resultado de rendimiento de lectura obtenido en una prueba concreta no se puede trasladar automáticamente al rendimiento general de un servidor, una base de datos o una aplicación. Para comprobar ese impacto harían falta pruebas con hardware real, distintas cargas de trabajo y mediciones que incluyan tanto lecturas como escrituras, además del coste de la gestión de memoria.

La propuesta también necesita una infraestructura capaz de exponer la memoria comprimida como un espacio accesible directamente. El hardware asociado a Compute Express Link (CXL), una tecnología para conectar procesadores con dispositivos de memoria y otros aceleradores, aparece como una vía posible para explorar diseños de este tipo. Eso no significa que cualquier dispositivo CXL actual incorpore CRAM ni que la tecnología esté ya disponible de forma generalizada.

La escasez y el encarecimiento de la RAM podrían aumentar el interés de los fabricantes por este enfoque. En los centros de datos, aprovechar mejor la memoria instalada puede reducir la necesidad de ampliar la capacidad física de los servidores. Aun así, el ahorro potencial debe compensar el coste del hardware, la complejidad de integración y las limitaciones de cada carga de trabajo.

Por ahora, CRAM debe entenderse como una propuesta de arquitectura que permite estudiar cómo utilizar memoria comprimida de forma más directa. Las pruebas en DRAM ayudan a evaluar el concepto, pero todavía queda por demostrar su comportamiento con dispositivos diseñados para ofrecer esa capacidad.

## Preguntas frecuentes

### ¿Qué es CRAM en Linux?

CRAM es una propuesta de memoria comprimida accesible directamente mediante hardware especializado. Su objetivo es permitir que el procesador lea datos comprimidos sin que Linux tenga que recuperar primero cada página en la DRAM convencional y descomprimirla por software.

### ¿En qué se diferencia CRAM de zram y zswap?

zram proporciona un dispositivo de bloques respaldado por RAM y suele utilizarse como espacio de intercambio. zswap mantiene una caché de páginas comprimidas delante de un dispositivo de intercambio real. CRAM plantea un acceso directo por hardware a los datos comprimidos, con un modelo de funcionamiento distinto.

### ¿CRAM hace que las aplicaciones sean 452 veces más rápidas?

No. La cifra corresponde a una mejora de rendimiento de lectura en una prueba diseñada para aislar ciertos costes frente a zram. No demuestra una aceleración equivalente de las aplicaciones ni del rendimiento general de un servidor.

### ¿Se puede utilizar CRAM actualmente en cualquier servidor?

La propuesta necesita hardware específico capaz de gestionar y exponer memoria comprimida de forma directa. El uso de DRAM en las pruebas permite estudiar el concepto, pero no implica que exista una solución comercial generalizada disponible en cualquier servidor.
