DirectStorage

DirectStorage
Información general
Tipo de programa API de entrada/salida (I/O)
Desarrollador Microsoft
Lanzamiento inicial 2022
Licencia Propietaria
Información técnica
Plataformas admitidas Windows 10, Windows 11, Xbox Series X/S
Enlaces
Diagrama del pipeline de datos comparando el modelo tradicional con DirectStorage en sistemas NVMe y GPU.

DirectStorage [1][2][3][4][5]​es una interfaz de programación de aplicaciones (API) desarrollada por Microsoft como parte del ecosistema de DirectX, diseñada para optimizar la transferencia de datos desde dispositivos de almacenamiento de alta velocidad hacia la memoria de la GPU. Su objetivo es reducir la latencia, minimizar la sobrecarga de CPU y mejorar el rendimiento en aplicaciones con alto volumen de datos, como videojuegos modernos.

Arquitectura

DirectStorage introduce un modelo de entrada/salida basado en colas de alta profundidad y ejecución asíncrona, alineado con las capacidades de los dispositivos NVMe y APIs modernas como Direct3D 12.

Modelo tradicional

En sistemas convencionales, el flujo de datos implica múltiples capas:

SSD → pila de almacenamiento de Windows → CPU → memoria del sistema → GPU

Este enfoque introduce:

  • Interrupciones frecuentes
  • Cambios de contexto en el kernel
  • Serialización de operaciones
  • Sobrecarga en CPU

Modelo DirectStorage

DirectStorage reorganiza el flujo de datos:

SSD (NVMe) → cola DirectStorage → memoria GPU

Elementos clave:

  • Reducción de llamadas al sistema mediante agrupación de solicitudes
  • Ejecución asíncrona masiva
  • Eliminación de intermediarios innecesarios
  • Uso eficiente del paralelismo del dispositivo NVMe

Sistema de colas y paralelismo

DirectStorage explota las capacidades de los SSD NVMe, que soportan miles de colas y operaciones concurrentes:

  • Uso de colas de alta profundidad (queue depth)
  • Envío masivo de solicitudes (batched submission)
  • Procesamiento fuera de orden (out-of-order execution)
  • Minimización de sincronización CPU-GPU

Esto permite maximizar el throughput del almacenamiento y reducir la latencia efectiva.

Integración con GPU

La API permite transferencias más directas hacia la memoria de la GPU:

  • Acceso optimizado a memoria de vídeo (VRAM)
  • Reducción de copias intermedias en RAM
  • Integración con Direct3D 12 para gestión de recursos
  • Uso de colas de cómputo para operaciones auxiliares

En algunos casos, la GPU participa en la descompresión de datos mediante shaders de cómputo.

Compresión de datos

DirectStorage soporta flujos de datos comprimidos:

  • Descompresión acelerada por GPU
  • Reducción del ancho de banda requerido desde almacenamiento
  • Menor uso de CPU en comparación con descompresión tradicional

Se emplean algoritmos modernos como:

  • GDeflate (optimizado para GPU)
  • Zstandard (equilibrio entre ratio y velocidad)

Gestión de memoria

La API optimiza la gestión de recursos:

  • Streaming continuo de texturas y geometría
  • Carga bajo demanda (on-demand streaming)
  • Mejora en la coherencia de caché
  • Reducción de fragmentación en memoria

También permite una planificación más eficiente de recursos gráficos en motores de juego.

Interacción con el sistema operativo

DirectStorage reduce la intervención de la pila de almacenamiento de Windows:

  • Menor número de interrupciones por operación
  • Reducción de transiciones modo usuario/kernel
  • Acceso más directo al hardware NVMe
  • Optimización del scheduler de I/O

Esto disminuye la carga de CPU y mejora la eficiencia global del sistema.

Requisitos de hardware

Para un funcionamiento óptimo se requiere:

  • SSD NVMe con soporte de alta concurrencia
  • GPU compatible con DirectX 12 Ultimate
  • Controladores gráficos actualizados
  • Windows 10 (1909+) o Windows 11

El rendimiento depende de:

  • Ancho de banda del SSD
  • Latencia del dispositivo
  • Capacidad de la GPU para descompresión
  • Cantidad de VRAM disponible

Rendimiento

DirectStorage mejora principalmente:

  • Throughput de lectura
  • Latencia de acceso a datos
  • Utilización de CPU

Impacto típico:

  • Reducción significativa de tiempos de carga
  • Disminución de stutter en streaming de recursos
  • Mayor estabilidad en escenas complejas

El aumento de FPS es indirecto y depende de la carga del sistema.

Casos de uso

  • Juegos de mundo abierto con streaming continuo
  • Motores gráficos de nueva generación
  • Carga dinámica de activos sin pantallas de carga
  • Aplicaciones con grandes volúmenes de datos en tiempo real

Limitaciones

  • Dependencia de hardware moderno
  • Beneficio reducido en sistemas con GPU limitada o poca VRAM
  • Requiere implementación específica en motores de juego
  • Posible aumento de carga en GPU debido a descompresión

Comparativa

Parámetro Sin DirectStorage (pipeline clásico) Con DirectStorage (pipeline moderno)
Ruta de datos SSD → CPU → RAM → GPU SSD → GPU (I/O directo optimizado)
Latencia I/O (NVMe) ~100–300 µs + overhead CPU ~20–80 µs (mejor aprovechamiento NVMe)
Latencia total carga ms altos (CPU + copias) ms bajos (pipeline directo)
Ancho de banda (PCIe Gen3) ~2–3 GB/s efectivos ~3–3.5 GB/s (casi límite bus)
Ancho de banda (PCIe Gen4) ~2–4 GB/s ~5–7 GB/s
Ancho de banda (PCIe Gen5) ~3–5 GB/s ~10–14+ GB/s
IOPS (QD bajo) Limitado por CPU Cercano al máximo del SSD
IOPS (QD alto, 32–64+) Poco aprovechado Alto paralelismo (miles de requests)
Queue Depth (QD) Bajo (poco paralelismo real) Alto (uso intensivo de colas NVMe)
Overhead CPU Alto (I/O + descompresión) Muy bajo (solo coordinación)
Descompresión CPU (zlib, LZ4) GPU (compute shaders, GDeflate)
Throughput con compresión Limitado Mayor (datos comprimidos + GPU)
Streaming de assets Por bloques Continuo (streaming granular)
Micro-stuttering Frecuente Reducido
Escalabilidad futura Limitada por CPU Escala con GPU + NVMe

Véase también

  • Direct3D 12
  • NVMe
  • GPU computing
  • Renderizado en tiempo real

Referencias

  1. «Microsoft DirectStorage Explained: How It Improves Gaming». HYTE (en inglés estadounidense). Consultado el 28 de abril de 2026. 
  2. Microsoft, ed. (2025). «DirectStorage Overview». 
  3. Microsoft (ed.). «DirectStorage». 
  4. Microsoft (ed.). «DirectStorage for Windows». 
  5. Microsoft DirectX Blog (ed.). «DirectStorage 1.1 and GPU Decompression». 

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.