El almacenamiento importa: por qué los SSD de Xbox y Playstation marcan el comienzo de una nueva era de juegos

Una nueva generación de consolas de juegos llegará al mercado a finales de este año, y el ciclo exagerado para Xbox Series X y Playstation 5 ha estado en marcha durante más de un año . Los detalles técnicos sólidos (a diferencia de los simples rumores) han tardado en llegar, y todavía sabemos mucho menos sobre las consolas de lo que normalmente sabemos sobre las plataformas y componentes de PC durante la fase de pre-disponibilidad y posterior al anuncio. Tenemos algunos números de rendimiento de primera línea e información arquitectónica general de Microsoft y Sony, pero no una hoja de especificaciones completa.

La nueva generación de consolas traerá grandes aumentos en las capacidades de CPU y GPU, pero lo conseguimos con cada nueva generación y no sorprende que los chips de consola obtengan las mismas actualizaciones de microarquitectura que las CPU y GPU AMD de las que derivan. Lo que es más especial con esta generación es el cambio al almacenamiento: las consolas están siguiendo los pasos del mercado de PC al cambiar de discos duros mecánicos a almacenamiento de estado sólido, pero también van un paso más allá del mercado de PC para obtener el mayor beneficio de Almacenamiento en estado sólido.

Las unidades de estado sólido fueron revolucionarias para el mercado de PC, proporcionando enormes mejoras a la capacidad de respuesta general del sistema. Los juegos se beneficiaron principalmente en la forma de una instalación más rápida y tiempos de carga de nivel, pero el almacenamiento rápido también ayudó a reducir las paradas y la tartamudez cuando un juego necesita cargar datos sobre la marcha. En los últimos años, los SSD NVMe han proporcionado velocidades en papel varias veces más rápidas de lo que es posible con los SSD SATA, pero para los jugadores los beneficios han sido silenciados en el mejor de los casos. La sabiduría convencional sostiene que hay dos causas principales para sospechar de esta decepción: en primer lugar, casi todos los juegos y motores de juegos todavía están diseñados para ser reproducidos desde discos duros porque las consolas actuales y muchas PC de gama baja carecen de SSD. Los programadores de juegos no pueden aprovechar al máximo el rendimiento de NVMe SSD sin hacer que sus juegos sean lentos en los discos duros. Segundo,Los SSD SATA ya son lo suficientemente rápidos como para cambiar el cuello de botella en otras partes del sistema, a menudo en forma de descompresión de datos. Algo más que el SSD debe acelerarse antes de que los juegos puedan beneficiarse adecuadamente del rendimiento de NVMe.

Microsoft y Sony están abordando ambos problemas con sus próximas consolas. Los desarrolladores de juegos pronto serán libres de asumir que los usuarios tendrán un almacenamiento rápido, tanto en consolas como en PC. Además, la nueva generación de consolas agregará características de hardware adicionales para abordar los cuellos de botella que estarían presentes si fueran simplemente PC de juegos de gama media equipadas con SSD de última generación. Sin embargo, todavía estamos lidiando con potentes operaciones de publicidad que promueven estos próximos dispositivos. Ambas compañías son culpables de exagerar o simplificar demasiado sus intentos de ensalzar las nuevas capacidades de sus próximas consolas, especialmente con respecto a los nuevos SSD. Y dado que estas consolas todavía son plataformas cerradas que ni siquiera están en el mercado, algunos de los detalles técnicos más interesantes aún se mantienen en secreto.

La principal fuente de información técnica oficial sobre la PS5 (y especialmente su SSD) es el diseñador principal Mark Cerny. En marzo, hizo una presentación técnica de una hora sobre la PS5 y gastó más de un tercio de la misma en el almacenamiento. Menos oficialmente, Sony ha presentado varias patentes que aparentemente pertenecen a la PS5, incluida una que se alinea bien con lo que se ha confirmado sobre la tecnología de almacenamiento de la PS5. Esa patente revela numerosas ideas que Sony exploró en el desarrollo de la PS5, y muchas de ellas probablemente se implementen en el diseño final.

Microsoft ha adoptado el enfoque de regatear más o menos detalles técnicos a través de publicaciones de blog esporádicas y entrevistas, especialmente con DigitalFoundry (que también tiene una buena cobertura de la PS5). Han introducido nombres de marca para muchas de sus tecnologías relacionadas con el almacenamiento (por ejemplo, “Xbox Velocity Architecture”), pero en demasiados casos realmente no sabemos nada sobre una característica que no sea su nombre.

Además de las fuentes oficiales, también tenemos filtraciones, comentarios y rumores de diversa calidad, de socios y otras fuentes de la industria. Definitivamente, han ayudado a alimentar el bombo publicitario, pero con respecto a los SSD de la consola en particular, estas fuentes no oficiales han producido muy poco en cuanto a detalles técnicos reales. Eso nos deja con muchas lagunas que requieren un análisis de lo que es posible y probable que incluyan las próximas consolas.

¿Qué sabemos sobre los SSD de la consola?

Microsoft y Sony están utilizando SSD NVMe personalizados para sus consolas, aunque con diferentes definiciones de “personalizado”. La solución de Sony apunta a más del doble del rendimiento de la solución de Microsoft y es definitivamente más costosa a pesar de que tendrá la menor capacidad. En términos generales, la SSD de Sony ofrecerá un rendimiento similar a las SSD NVMe PCIe 4.0 de gama alta que esperamos ver en el mercado minorista para finales de año, mientras que la SSD de Microsoft es más comparable a las unidades NVMe de nivel básico. Ambos son un gran paso adelante de los discos duros mecánicos o incluso los SSD SATA.

La métrica de rendimiento más importante e impresionante para los SSD de la consola es su velocidad de lectura secuencial. La velocidad de escritura de SSD es casi completamente irrelevante para el rendimiento de los videojuegos, e incluso cuando los juegos realizan lecturas aleatorias, generalmente será para grandes cantidades de datos que los bloques de 4kB en los que normalmente se basan las clasificaciones de rendimiento de E / S aleatorias de SSD. La velocidad de lectura de 2.4GB / s de Microsoft es 10-20 veces más rápida que la que puede ofrecer un disco duro mecánico, pero está muy por debajo de los estándares actuales para SSD de consumo de alta gama que pueden saturar una interfaz PCIe 3.0 x4 con al menos 3.5GB / s velocidades de lectura. La velocidad de lectura de 5,5 GB / s de Sony es ligeramente más rápida que las SSD PCIe 4.0 actualmente disponibles basadas en el controlador Phison E16, pero todos los que compiten en el mercado de SSD de consumo de gama alta tienen soluciones más avanzadas en el camino. Para cuando se envíe,El rendimiento de lectura del SSD de PS5 no será notable, igualado por otros SSD de gama alta, excepto en el contexto de consolas y PC de juegos de bajo costo que generalmente no tienen espacio en el presupuesto para almacenamiento de alta gama.

Sony ha revelado que su SSD utiliza un controlador personalizado con una interfaz de 12 canales para la memoria flash NAND. Esta parece ser la forma más importante en la que su diseño difiere de los SSD de consumo típicos. Los SSD de consumo de gama alta generalmente usan controladores de 8 canales y las unidades de gama baja a menudo usan 4 canales. Los recuentos de canales más altos son más comunes para los SSD de servidor, especialmente aquellos que necesitan soportar capacidades extremas; Los controladores de 16 canales son comunes y los diseños de 12 o 18 canales no son desconocidos. El uso de Sony de un recuento de canales más alto que cualquier SSD de consumidor reciente significa que su controlador SSD será extraordinariamente grande y costoso, pero por otro lado no necesitan tanto rendimiento de cada canal para alcanzar su objetivo de 5.5GB / s. Podrían usar cualquier TLC NAND de 64 capas o más reciente y tener un rendimiento adecuado,mientras que los SSD de los consumidores que esperan ofrecer este nivel de rendimiento o más con controladores de 8 canales deben combinarse con un flash NAND más nuevo y más rápido.

El controlador de 12 canales también conduce a capacidades totales inusuales. Una SSD de consola no necesita más aprovisionamiento excesivo que las SSD de consumidor típicas, por lo que un 50% más de canales deberían traducirse en aproximadamente un 50% más de capacidad utilizable. La PS5 se enviará con “825 GB” de espacio SSD, lo que significa que deberíamos ver cada uno de los 12 canales equipados con 64 GiB de NAND sin procesar, organizados como un dado de 512 Gbit (64 GB) o dos dados de 256 Gbit (32 GB) por canal. Eso significa que la capacidad bruta nominal de la NAND es de 768GiB o aproximadamente 824.6 (decimal) GB. El utilizablela capacidad después de tener en cuenta el área de reserva requerida por la unidad probablemente estará más en línea con lo que un fabricante de unidades marcaría como 750 GB, por lo que los 825 GB de Sony exageran las cosas en un 10% más de lo normal para la industria del almacenamiento . Es algo que puede hacer que algunos abogados saluden.

Probablemente vale la pena mencionar aquí que no es realista que Sony haya diseñado su propio controlador SSD NVMe de alto rendimiento, al igual que no pueden hacer un diseño de CPU o GPU por su cuenta. Sony tuvo que asociarse con un proveedor de controladores SSD existente y encargar un controlador personalizado, probablemente ensamblado en gran parte a partir de IP preexistente y probada, pero no sabemos quién es ese socio.

El SSD de Microsoft no impulsará el rendimiento más allá de los niveles normales de PC nuevos ahora que los OEM han superado los SSD SATA, pero un 1TB completo en una PC con un precio similar al de las consolas aún sería una gran victoria para los consumidores. Múltiples fuentes indican que Microsoft está utilizando un controlador SSD estándar de uno de los sospechosos habituales (probablemente el controlador Phison E19T), y la unidad en sí está construida por un OEM de SSD importante. Sin embargo, aún pueden reclamar el uso de un factor de forma personalizado y probablemente un firmware personalizado.

Ninguno de los proveedores de consolas ha compartido información oficial sobre los componentes internos de su SSD, aparte de las especificaciones de 12 canales de Sony, pero las capacidades y los números de rendimiento nos dan una pista sobre qué esperar. Sony está bastante comprometido con el uso de TLC NAND, pero el objetivo de menor rendimiento de Microsoft está en el territorio donde QLC NAND es una opción: 2.4GB / s es un poco más de lo que vemos en las unidades QLC de 4 canales actuales como el Intel 665p (aproximadamente 2GB / s) pero mucho menos que unidades QLC de 8 canales como el Sabrent Rocket Q (con una clasificación de 3.2GB / s para el modelo de 1TB). La mejor opción para el rendimiento esperado de Microsoft entre los diseños SSD actuales sería una unidad de 4 canales con TLC NAND, pero los controladores más nuevos de 4 canales como el Phison E19T deberían poder alcanzar esas velocidades con el QLC NAND correcto.En el futuro, cualquiera de las consolas podría obtener una versión de doble capacidad que use QLC NAND para alcanzar el mismo rendimiento de lectura de los modelos originales.

DRAMless, pero eso está bien?

Sin especificaciones de rendimiento para escrituras o lecturas aleatorias, no podemos descartar la posibilidad de que ninguna consola SSD use un controlador DRAMless. La inclusión de una memoria caché DRAM de tamaño completo para las tablas de la capa de traducción flash (FTL) en un SSD ayuda principalmente al rendimiento de dos maneras: mejores velocidades de escritura sostenidas cuando la unidad está lo suficientemente llena como para requerir una gran cantidad de trabajo en segundo plano y un mejor acceso aleatorio velocidad al leer datos en todo el rango de la unidad. Ninguno de los dos se ajusta realmente al caso de uso de la consola: muy orientado a la lectura, y solo accede al conjunto de datos de un juego a la vez. Incluso si los tamaños de instalación del juego terminan en el rango de 100-200 GB, en cualquier momento dado, la cantidad de datos utilizados por un juego no será más que decenas de GB,y eso es manejado fácilmente por SSD sin DRAM con una cantidad decente de SRAM en el controlador mismo. Ir sin DRAM parece muy probable para el SSD de Microsoft, y aunque sería muy extraño en cualquier otro contexto ver un controlador DRAMless de 12 canales, esa opción parece ser viable para Sony (y compensaría el costo del alto recuento de canales) .

La patente de Sony mencionada anteriormente profundiza sobre cómo hacer que un controlador DRAMless sea aún más adecuado para casos de uso de consolas. En lugar de almacenar en caché una parte de la tabla de mapeo de direcciones lógicas a físicas del FTL en la SRAM en el controlador, Sony propone hacer la tabla lo suficientemente pequeña como para caber en un pequeño búfer SRAM. Los SSD convencionales tienen una relación de 1 GB de DRAM por cada 1 TB de memoria flash. Esa relación es una consecuencia directa de la gestión de flash de FTL en fragmentos de 4kB. Tener el FTL administrar flash en fragmentos más grandes reduce directamente los requisitos de memoria para la tabla de mapeo. La desventaja es que las escrituras pequeñas causarán mucha más amplificación de escritura y serán mucho más lentas. Western Digital vende un SSD empresarial especializadoque usa fragmentos de 32kB para su FTL en lugar de 4kB, y como resultado solo necesita un octavo de la cantidad de DRAM. El rendimiento de escritura aleatoria de esa unidad es pobre, pero el rendimiento de lectura sigue siendo competitivo. La patente de Sony propone ir más allá de los fragmentos de 32kB para usar fragmentos de 128MB para el FTL, reduciendo la tabla de mapeo a meros kilobytes. Eso requiere que el sistema host sea muy cuidadoso sobre cuándo y dónde escribe datos, pero el rendimiento de lectura en el que se basan los juegos no se ve comprometido.

En resumen, si bien el SSD de Sony debería ser muy rápido para su propósito previsto, apuesto a que realmente no lo querría en su PC con Windows. Lo mismo es probablemente cierto en cierta medida de la SSD de Microsoft, dependiendo de sus decisiones de ajuste de firmware.

Capacidad de expansión

Tanto Microsoft como Sony están proporcionando capacidad de expansión para el almacenamiento NVMe de sus próximas consolas. La solución de Microsoft es volver a empaquetar su SSD interna en un factor de forma extraíble personalizado que recuerde lo que las consolas usaban cuando las tarjetas de memoria se midieron en MB en lugar de TB y antes de que las unidades flash USB fueran omnipresentes. Como utiliza los mismos componentes, esta tarjeta de expansión será funcionalmente idéntica al almacenamiento interno. La desventaja es que Microsoft controlará el suministro y probablemente el precio de las tarjetas; actualmente Seagate es el único socio confirmado para vender estas tarjetas de expansión patentadas.

Sony está adoptando el enfoque opuesto, al dar a los usuarios acceso a una ranura M.2 PCIe 4.0 estándar que puede aceptar actualizaciones del mercado de accesorios. Los requisitos no están del todo claros: Sony realizará pruebas de compatibilidad con unidades de terceros para publicar una lista de compatibilidad, pero no han dicho si la consola PS5 rechazará las unidades que no estén en su lista aprobada. Para ingresar a la lista de compatibilidad de Sony, una unidad deberá ajustarse mecánicamente (es decir, sin disipador térmico excesivamente grande) y ofrecer al menos tanto rendimiento como el SSD interno personalizado de Sony. Los requisitos de rendimiento significan que ninguna unidad actualmente disponible en el comercio minorista calificará, pero la situación será muy diferente el próximo año.

Equilibrio del sistema con otras características de hardware

La mayor ventaja tecnológica que las consolas tienen sobre las PC es que las consolas son una plataforma fija totalmente integrada especificada por un solo fabricante. En teoría, el fabricante puede garantizar que el sistema esté correctamente equilibrado para el caso de uso, algo en lo que los OEM de PC son notoriamente malos. Las consolas generalmente no tienen el problema de desperdiciar una gran parte del presupuesto en un solo componente de gama alta con el que el resto del sistema no puede mantenerse al día, y las consolas pueden incorporar más fácilmente hardware personalizado cuando los componentes estándar disponibles no están disponibles (Esta es la razón por la cual la generación de consola saliente no usó núcleos de CPU de escritorio, sino que dedicó una gran cantidad del presupuesto de silicio a las GPU).

Hasta ahora, los juegos de PC han demostrado a fondo que el aumento de la velocidad SSD tiene poco o ningún impacto en el rendimiento de los juegos. Las SSD NVMe son varias veces más rápidas que las SSD SATA en papel, pero para casi todos los juegos de PC ese rendimiento adicional no se utiliza en gran medida. En parte, esto se debe a cuellos de botella en otras partes del sistema que se revelan cuando el rendimiento del almacenamiento es lo suficientemente rápido como para no ser una limitación grave. Las próximas consolas incluirán una serie de características de hardware diseñadas para facilitar que los juegos aprovechen el almacenamiento rápido y para aliviar los cuellos de botella que serían problemáticos en una plataforma de PC estándar. Aquí es donde la tecnología de almacenamiento de la consola se vuelve realmente interesante, ya que los SSD en sí mismos son relativamente poco notables.

Compresión: amplificación del rendimiento de SSD

La característica de hardware especializado más importante que incluirán las consolas para complementar el rendimiento del almacenamiento es el hardware de descompresión de datos dedicado. Los activos del juego deben almacenarse en el disco en forma comprimida para mantener los requisitos de almacenamiento algo razonables. Los juegos generalmente se basan en múltiples métodos de compresión: algunos métodos de compresión con pérdidas especializados para ciertos tipos de datos (por ejemplo, audio e imágenes) y algunos algoritmos de propósito general sin pérdidas, pero casi todo pasa por al menos un método de compresión que es bastante complejo desde el punto de vista computacional. Las arquitecturas de GPU han incluido durante mucho tiempo hardware para manejar secuencias de video de decodificación y admitir métodos de compresión de textura con pérdida simple pero rápida como S3TC y sus sucesores, pero eso deja que la CPU descomprima muchos datos. Las CPU de escritorio no tienen motores o instrucciones de descompresión dedicados,aunque muchas instrucciones en las diversas extensiones SIMD están destinadas a ayudar con tareas como esta. Aun así, descomprimir un flujo de datos a varios GB / s no es trivial, y el hardware de propósito especial puede hacerlo de manera más eficiente mientras libera tiempo de CPU para otras tareas. El hardware de descarga de descompresión en las próximas consolas se implementa en el SoC principal para que pueda desempaquetar los datos después de atravesar el enlace PCIe desde el SSD y reside en el grupo de RAM principal compartido por los núcleos de GPU y CPU.El hardware de descarga de descompresión en las próximas consolas se implementa en el SoC principal para que pueda desempaquetar los datos después de atravesar el enlace PCIe del SSD y residir en el grupo de RAM principal compartido por los núcleos de GPU y CPU.El hardware de descarga de descompresión en las próximas consolas se implementa en el SoC principal para que pueda desempaquetar los datos después de atravesar el enlace PCIe desde el SSD y reside en el grupo de RAM principal compartido por los núcleos de GPU y CPU.

El hardware de descarga de descompresión como este no se encuentra en las plataformas de PC de escritorio típicas, pero no es una idea novedosa. Las consolas anteriores incluían hardware de descompresión, aunque nada que pudiera seguir el ritmo de las unidades SSD NVMe. Las plataformas de servidor a menudo incluyen aceleradores de compresión, generalmente emparejados con aceleradores de criptografía: Intel ha hecho dichos aceleradores tanto como periféricos discretos como integrados en algunos conjuntos de chips de servidor, y las CPU POWER9 y posteriores de IBM tienen unidades de aceleración similares. Estos aceleradores de servidor son más comparables a lo que necesitan las nuevas consolas, con un rendimiento de varios GB / s.

Microsoft y Sony han ajustado sus unidades de descompresión para adaptarse al rendimiento esperado de sus diseños SSD elegidos. Han elegido diferentes algoritmos de compresión patentados para apuntar: Sony está utilizando Kraken de RAD, un algoritmo de propósito general que fue diseñado originalmente para usarse en las consolas actuales con CPU relativamente débiles pero requisitos de rendimiento mucho más bajos. Microsoft se centró específicamente en la compresión de texturas, razonando que las texturas representan el mayor volumen de datos que los juegos necesitan leer y descomprimir. Desarrollaron un nuevo algoritmo de compresión de texturas y lo denominaron BCPack en una ligera desviación de sus convenciones de nomenclatura DirectX existentes para los métodos de compresión de texturas ya compatibles con las GPU.

Sony afirma que su hardware de descompresión basado en Kraken puede desempaquetar el flujo de 5.5 GB/s del SSD en un típico 8-9 GB/s de datos sin comprimir, pero que teóricamente puede alcanzar hasta 22 GB/s si los datos son lo suficientemente redundantes ser altamente compresible Microsoft declara que su descompresor BCPack puede generar un promedio de 4.8 GB/s desde la entrada de 2.4 GB/s, pero potencialmente hasta 6 GB/s. Por lo tanto, Microsoft afirma tener relaciones de compresión típicas ligeramente más altas, pero sigue siendo un flujo de salida más lento debido a la SSD mucho más lenta, y la descompresión de hardware de Microsoft es aparentemente solo para datos de textura.

El tiempo de CPU ahorrado por estas unidades de descompresión suena asombroso: el equivalente de aproximadamente 9 núcleos de CPU Zen 2 para la PS5 y aproximadamente 5 para la Xbox Series X. Tenga en cuenta que estos son números máximos que suponen que el ancho de banda SSD se está utilizando por completo: los juegos reales no podrán mantener estos SSD 100% ocupados, por lo que no necesitarían tanta potencia de CPU para la descompresión.

Las funciones de aceleración de almacenamiento en los SoC de la consola no se limitan solo a la descarga de compresión, y Sony en particular ha descrito algunas características, pero aquí es donde la información publicada hasta ahora es realmente vaga, insatisfactoria y abierta a interpretación. La mayor parte de esta funcionalidad parece tener como objetivo reducir los gastos generales, manejar algunos de los aspectos más mundanos de mover datos sin tener que involucrar a la CPU con tanta frecuencia, y asegurarse de que el proceso de descompresión del hardware sea invisible para el software del juego.

Motores DMA

El acceso directo a memoria (DMA) se refiere a la capacidad de un dispositivo periférico para leer y escribir en la RAM de la CPU sin que la CPU esté involucrada. Todos los periféricos modernos de alta velocidad usan DMA para la mayoría de sus comunicaciones con la CPU, pero ese no es el único uso para DMA. Un motor DMA es un dispositivo periférico que existe únicamente para mover datos; generalmente no hace nada a esos datos. La CPU puede indicar al motor DMA que realice una copia de una región de RAM a otra, y el motor DMA hace el trabajo de memoria de copiar potencialmente gigabytes de datos sin que la CPU tenga que hacer un movimiento.(o SIMD equivalente) instrucciones para cada pieza, y sin contaminar las memorias caché de la CPU. Los motores DMA a menudo también pueden hacer más que simplemente descargar operaciones de copia simples: comúnmente admiten operaciones de dispersión / recopilación para reorganizar los datos de alguna manera en el proceso de moverlos. NVMe ya tiene características como listas de dispersión / reunión que pueden eliminar la necesidad de un motor DMA separado para proporcionar esa característica, pero los comandos NVMe en estas consolas actúan principalmente en datos comprimidos .

Aunque los motores DMA son un dispositivo periférico, generalmente no los encontrará como una tarjeta PCIe independiente. Tiene más sentido que estén lo más cerca posible del controlador de memoria, lo que significa que en el chipset o en la CPU misma. El SoC PS5 incluye un motor DMA para manejar la copia alrededor de los datos que salen de la unidad de compresión. Al igual que con los motores de compresión, este no es un invento novedoso, sino una característica que falta en las PC de escritorio estándar, lo que significa que es algo personalizado que Sony tiene que agregar a lo que de otro modo sería una configuración de APU AMD bastante sencilla.

Coprocesador IO

El complejo IO en el SoC de la PS5 también incluye un procesador de doble núcleo con su propio grupo de SRAM. Sony no ha dicho casi nada sobre lo interno de esto: Mark Cerny describe un núcleo como dedicado a SSD IO, permitiendo que los juegos “omitan el archivo tradicional IO”, mientras que el otro núcleo se describe simplemente como ayuda con el “mapeo de memoria”. Para más detalles, tenemos que recurrir a una patente que Sony presentó hace años, y esperamos que refleje lo que realmente está en la PS5.

El coprocesador IO descrito en la patente de Sony descarga porciones de lo que normalmente serían los controladores de almacenamiento del sistema operativo. Una de sus tareas más importantes es traducir entre varios espacios de direcciones. Cuando el juego solicita un cierto rango de bytes de uno de sus archivos, el juego busca los datos sin comprimir . El coprocesador de E / S descubre qué fragmentos de datos comprimidos son necesarios y envía comandos de lectura NVMe al SSD. Una vez que el SSD ha devuelto los datos, el coprocesador de E / S configura la unidad de descompresión para procesar esos datos y el motor DMA para entregarlos a las ubicaciones solicitadas en la memoria del juego.

Dado que los dos núcleos del coprocesador IO son mucho menos potentes que un núcleo de CPU Zen 2, no pueden estar a cargo de toda interacción con el SSD. El coprocesador maneja los casos más comunes de lectura de datos, y el sistema recurre al sistema operativo que se ejecuta en los núcleos Zen 2 para el resto. La SRAM del coprocesador no se utiliza para amortiguar las grandes cantidades de datos del juego que fluyen a través del complejo IO; en cambio, esta memoria contiene las diversas tablas de búsqueda utilizadas por el coprocesador IO. A este respecto, es similar a un controlador SSD con un grupo de RAM para sus tablas de mapeo, pero el trabajo del coprocesador IO es completamente diferente de lo que hace un controlador SSD. Es por eso que será útil incluso con SSD de terceros del mercado de accesorios.

Coherencia de caché

La última característica de hardware relacionada con el almacenamiento que Sony ha revelado es un conjunto de motores de coherencia de caché. La CPU y la GPU en el SoC PS5 comparten los mismos 16 GB de RAM, lo que elimina el paso de copiar los activos de la RAM principal a la VRAM después de cargarlos desde el SSD y descomprimirlos. Pero para obtener el mayor beneficio del conjunto compartido de memoria, el hardware debe garantizar la coherencia de la memoria caché no solo entre los diversos núcleos de la CPU, sino también con los diversos cachés de la GPU. Todo eso es normal para una APU, pero lo novedoso con la PS5 es que el complejo IO también participa. Cuando los nuevos activos gráficos se cargan en la memoria a través del complejo IO y sobrescriben los activos más antiguos, envía señales de invalidación de caché a cualquier caché relevante, para descartar solo los datos obsoletos, en lugar de vaciar todos los cachés de GPU.

¿Qué pasa con la Xbox Series X?

Hay mucha información anterior sobre el complejo IO personalizado de Playstation 5, y es natural preguntarse si la Xbox Series X tendrá capacidades similares o si se limitará solo al hardware de descompresión. Microsoft ha agrupado las tecnologías relacionadas con el almacenamiento en la nueva Xbox bajo el título de “Arquitectura de velocidad de Xbox”:

Microsoft define esto como que tiene cuatro componentes: el SSD en sí, el motor de compresión, una nueva API de software para acceder al almacenamiento (más sobre esto más adelante) y una característica de hardware llamada Sampler Feedback Streaming. Ese último solo está distantemente relacionado con el almacenamiento; es una función de GPU que hace que las texturas parcialmente residentes sean más útiles al permitir que los programas de sombreado mantengan un registro de qué partes de una textura se están utilizando realmente. Esta información se puede utilizar para decidir qué datos desalojar de la RAM y qué cargar a continuación, como una versión de mayor resolución de las regiones de textura que son realmente visibles en este momento.

Dado que Microsoft no menciona nada como las otras características complejas de PS5 IO, es razonable suponer que la Xbox Series X no tiene esas capacidades y su IO es administrada en gran medida por los núcleos de la CPU. Pero no me sorprendería demasiado descubrir que la Serie X tiene un motor DMA comparable, porque esa característica ha aparecido históricamente en muchas arquitecturas de consola.

Qué esperar de los juegos de próxima generación

Los SSD NVMe pueden ser fácilmente 50 veces más rápidos que los discos duros para lecturas secuenciales y miles de veces más rápidos para lecturas aleatorias. Es lógico pensar que los desarrolladores de juegos deberían poder hacer las cosas de manera diferente cuando ya no necesitan apuntar a discos duros lentos y pueden confiar en un almacenamiento rápido. Se pueden descartar soluciones para el rendimiento lento del disco duro, y se pueden probar nuevas ideas y características que nunca funcionarían en los discos duros. Microsoft y Sony están muy de acuerdo sobre lo que esto significará para la próxima generación de consolas, y han promocionado la mayoría de los mismos beneficios para los usuarios finales.

La mayoría de los cambios en el diseño del juego permitidos al abandonar los discos duros tendrán poco impacto en la experiencia de juego de un segundo al siguiente; eliminar las soluciones alternativas para el almacenamiento lento no ayudará mucho a los cuadros por segundo, pero eliminará algunos otros puntos débiles en la experiencia general de la consola. Para empezar, las unidades de estado sólido pueden tolerar un alto grado de fragmentación sin un impacto notable en el rendimiento, por lo que no es necesario desfragmentar los archivos del juego después de las actualizaciones. La desfragmentación es algo que la mayoría de los usuarios de PC ya no necesitan pensar, pero sigue siendo un proceso de mantenimiento ocasionalmente necesario (aunque automático) en las consolas actuales.


No es tan obsoleto como podría haber pensado. Pero pronto.

Dado que los desarrolladores de juegos ya no necesitan preocuparse tanto por mantener la localidad espacial de los datos en el disco, tampoco será necesario que los datos que se reutilizan en varias partes de un juego se dupliquen en varias partes del disco. Los sonidos, las texturas y los modelos comúnmente reutilizados solo tendrán que incluirse una vez en los archivos de un juego. Esto tendrá al menos un pequeño efecto en desacelerar el crecimiento de los tamaños de instalación del juego, pero probablemente no revertirá esa tendencia, excepto cuando un estudio ha abusado en gran medida de las funciones de copiar y pegar en sus editores de nivel.


Abuso de herramientas de clonación

Las advertencias de no apagar la consola mientras se guarda un juego aparecieron por primera vez cuando las consolas se alejaron de los cartuchos con almacenamiento de estado sólido incorporado, y esas advertencias continúan siendo un sello distintivo de muchos juegos de consola y puertos de PC medio vacíos. Las velocidades de escritura de los SSD son lo suficientemente rápidas como para que guardar un juego lleve mucho menos tiempo que alcanzar un interruptor de encendido, por lo que idealmente esas advertencias deberían reducirse, si no desaparecen para siempre.


Cómo detectar un portado de consola

Pero los SSD NVMe tienen velocidades de escritura que van mucho más allá de ese requisito, y eso permite cambios en la forma en que se guardan los juegos. En lugar de resumir el progreso del reproductor en un archivo de solo megabytes, las nuevas consolas tendrán la libertad de volcar gigabytes de datos en el disco. Toda la RAM utilizada por un juego se puede guardar en un SSD NVMe en cuestión de segundos, como las funciones de estado de guardado comunes a los emuladores de consola. Si los activos estáticos (texturas, sonidos, etc.) que no están modificados se excluyen del archivo de guardado, volveremos a las operaciones de guardado casi instantáneas. Pero ahora el archivo de guardar y los activos del juego en uso se pueden volver a leer en la RAM para reanudar todo el estado del juego en no más de un segundo o dos, evitando todo el trabajo habitual de inicio y carga realizado por los juegos.


Menú de reanudación rápida de Xbox Series X

La deduplicación de los activos del juego es un beneficio que se trasladará trivialmente a los puertos de la PC, y la falta de desfragmentación es algo que los jugadores de PC con SSD ya han disfrutado durante años, y ninguno de esos cambios requiere una SSD de vanguardia. Las capacidades de guardar y reanudar instantáneamente pueden funcionar bien (aunque no tan “instantáneo”) incluso en un SSD SATA, pero implementarlo bien requiere un poco de ayuda del sistema operativo, por lo que puede pasar un tiempo antes de que esta característica se vuelva común. en juegos de PC. (Los sistemas operativos de escritorio han soportado durante mucho tiempo la hibernación y la restauración de toda la imagen del sistema operativo, pero hacerlo por aplicación es inusual).

Pero esas son todas características de conveniencia que no hacen que la experiencia central del juego sea más rica. La reducción o eliminación de pantallas de carga será una mejora bienvenida para muchos juegos, pero muchos más juegos ya han hecho todo lo posible para eliminar las pantallas de carga tanto como sea posible. Esto a menudo toma la forma de un diseño de nivel que oculta lo que habría sido una pantalla de carga. El movimiento y el campo de visión del jugador están temporalmente restringidos, lo que reduce drásticamente los activos que deben permanecer en la memoria RAM y permite intercambiar todo lo demás, al tiempo que conserva una ilusión de libertad del jugador. Los pasillos y cañones estrechos, los viajes en ascensor y en tren, y las esclusas de aire, con frecuencia viajes de ida, son todos elementos de diseño estándar del juego para que sea menos obvio dónde se divide el mundo del juego.


Diseño de nivel para 64 MB de RAM

Los juegos de mundo abierto funcionan con menos elementos de diseño al hacer que el mundo sea menos detallado y restringir la velocidad de movimiento del jugador para que, sin importar dónde elija moverse, los activos necesarios se pueden transmitir a la RAM sobre la marcha. Con un SSD rápido, los diseñadores de juegos y los jugadores tendrán más libertad. Pero algunas secuencias de transición aún serán necesarias para los principales cambios de escena. Las consolas no pueden recargar todo el contenido de RAM de un cuadro a otro; eso todavía tomará varios segundos.

SSD como RAM?

Finalmente, llegamos a lo que puede ser la consecuencia más significativa de hacer que los SSD sean estándar y necesarios para los juegos, pero también es el beneficio más exagerado: tanto Microsoft como Sony han hecho declaraciones en el sentido de que el SSD se puede usar casi como RAM . Cualesquiera que sean los calificativos y las advertencias con las que vino esa declaración, los fanáticos e incluso algunos periodistas la descartaron rápidamente. Así que seamos claros aquí: los SSD de la consola no sustituyen a la RAM. El SSD de la PS5 puede suministrar datos a 5.5 GB / s. La RAM funciona a 448 GB / s, * 81 veces más rápido *. Las consolas tienen 16 GB de memoria GDDR6. Si un juego necesita usar más de 16 GB para representar una escena, la velocidad de fotogramas se reducirá a los niveles de Myst porque el SSD no es lo suficientemente rápido. Los SSD son inadecuados tanto en rendimiento como en latencia.

Ciertamente, es posible que un nivel use más de 16 GB de activos, pero no todos en la pantalla a la vez. El término técnico aquí es conjunto de trabajo : cuánta memoria realmente se está utilizando activamente de una vez. Lo que la SSD cambia un poco es el umbral de lo que puede considerarse activo. Con un SSD rápido, los activos que deben mantenerse en DRAM no son mucho más de lo que está actualmente en la pantalla, y el juego no necesita buscar previamente muy por delante. Las texturas para un objeto en la misma habitación pero actualmente fuera de la pantalla pueden ser seguras para dejar en el disco hasta que la cámara comience a moverse en esa dirección, mientras que un sistema basado en disco duro probablemente necesitará mantener activos para toda la habitación y habitaciones adyacentes en RAM para evitar la tartamudez Esta diferencia significa que una consola basada en SSD (especialmente con rendimiento NVMe) puede liberar algo de VRAM y permitir algunos activos de mayor resolución. No es un gran cambio; No es que el SSD aumente el tamaño efectivo de VRAM en decenas de GB, pero es muy plausible que permita que los juegos usen unos pocos GB adicionales de RAM para el contenido en pantalla en lugar de buscar previamente activos fuera de la pantalla.Mark Cerny lo ha aproximado diciendo que el juego ahora solo necesita pre-buscar aproximadamente un segundo por delante, en lugar de unos 30 segundos por delante.

Hay otro nivel para este beneficio: las texturas parcialmente residentes han sido posibles en otras plataformas, pero ahora se vuelven más poderosas. Lo que se desarrolló originalmente para texturas de suelo de varios acres ahora se puede usar efectivamente en objetos mucho más pequeños. La retroalimentación de muestra permite que la GPU proporcione a la aplicación información más detallada y precisa sobre qué partes de una textura se muestran realmente. El juego puede usar esa información para emitir solo solicitudes de lectura de SSD para esas partes del archivo. Esto se puede hacer con una granularidad de bloques de 128kB de la textura (sin comprimir), que es lo suficientemente pequeña como para permitir un ahorro significativo de RAM al no cargar texels que no se utilizarán, mientras que al mismo tiempo aún se emiten lecturas SSD que son grandes suficiente para adaptarse a las características de rendimiento de SSD.

Microsoft ha declarado que estas capacidades se suman al efecto de un multiplicador 2x o 3x de capacidad RAM y ancho de banda SSD. No estoy convencido. Claro, se puede guardar una gran cantidad de ancho de banda SSD en escalas de tiempo cortas cargando una escena de forma incremental. Pero dudo que estas características permitan a la Serie X con sus ~ 10 GB de VRAM manejar el tipo de escenario detallado que podría dibujar en una GPU de PC con 24 GB de VRAM. Sin embargo, son bienvenidos para demostrar que estoy equivocado.

¿Qué es necesario para obtener el máximo rendimiento de una unidad de estado sólido?

El hardware de almacenamiento en las nuevas consolas abre nuevas posibilidades, pero por sí solo el hardware no puede revolucionar los juegos. La implementación de las nuevas funciones habilitadas por SSD rápidos todavía requiere trabajo de software de los vendedores de consolas y desarrolladores de juegos. Extraer el rendimiento completo de un SSD NVMe de alta gama requiere un enfoque diferente de IO que los métodos que funcionan para discos duros y discos ópticos.

Todavía no tenemos ningún SSD de consola de próxima generación para jugar, pero en base a las pocas especificaciones publicadas hasta ahora, podemos hacer algunas proyecciones bastante sólidas sobre sus características de rendimiento. En primer lugar, alcanzar las velocidades de lectura secuenciales anunciadas requerirá mantener ocupados los SSD con muchas solicitudes de datos. Considere uno de los SSD más rápidos que hemos probado, el SSD empresarial Samsung PM1725a. Es capaz de alcanzar más de 6.2 GB / s cuando realiza lecturas secuenciales en fragmentos de 128kB. Pero pedir esos trozos de uno en uno solo nos da 680 MB / s. Esta unidad requiere una profundidad de cola de al menos 16 para alcanzar 5 GB / s, y al menos QD32 para alcanzar 6 GB / s. Es posible que los SSD más nuevos con memoria flash más rápida no requieran profundidades de cola que sean tan altas,pero los juegos definitivamente necesitarán hacer más de unas pocas solicitudes a la vez para mantener ocupados los SSD de la consola.

Las consolas no pueden darse el lujo de desperdiciar demasiada energía de la CPU para comunicarse con las SSD, por lo que necesitan una forma para que solo uno o dos subprocesos administren todas las solicitudes de E / S y aún les quede tiempo de CPU para que esos núcleos hagan algo útil con el datos. Eso significa que las consolas deberán programarse utilizando API de E / S asíncronas, donde un subproceso emite una solicitud de lectura al sistema operativo (o coprocesador de E / S) pero vuelve a funcionar mientras se procesa la solicitud. Y el hilo tendrá que volver más tarde para ver si se ha completado una solicitud. En los días del disco duro, un hilo de este tipo se activaba y realizaba varias tareas que no son de almacenamiento mientras espera que se complete una operación de lectura. Ahora, ese hilo tendrá que pasar ese tiempo emitiendo varias solicitudes más.

Además de mantener altas las profundidades de la cola, obtener la velocidad máxima de los SSD requerirá hacer IO en partes relativamente grandes. Intentar alcanzar los 5.5 GB / s con solicitudes de 4kB requeriría manejar alrededor de 1.4M IOs por segundo, lo que estresaría varias partes del sistema con sobrecarga. Afortunadamente, los juegos tienden a tratar naturalmente con grandes cantidades de datos, por lo que este requisito no es demasiado problema; Significa principalmente que muchas medidas tradicionales de rendimiento de SSD son irrelevantes.

Microsoft ha dicho muy poco sobre el lado del software de la pila de almacenamiento Xbox Series X. Han anunciado una nueva API llamada DirectStorage. No tenemos una descripción de cómo funciona o difiere de las API de almacenamiento de consola existentes o anteriores, pero está diseñado para ser más eficiente:

DirectStorage puede reducir la sobrecarga de la CPU para estas operaciones de E / S de múltiples núcleos a tomar solo una pequeña fracción de un solo núcleo.

Lo más interesante de DirectStorage es que Microsoft planea llevarlo a Windows, por lo que la nueva API no puede depender de ningún hardware personalizado y tiene que ser algo que funcione sobre un sistema de archivos NTFS normal. Según nuestras experiencias al probar SSD rápidos en Windows, sin duda podrían usar una API de almacenamiento de menor costo y sería aplicable a mucho más que solo videojuegos.

El diseño de la API de almacenamiento de Sony probablemente esté entrelazado con sus coprocesadores de IO, pero es poco probable que los desarrolladores de juegos tengan que ser específicamente conscientes de que sus solicitudes de IO se están descargando. Mark Cerny ha declarado que los juegos pueden pasar por alto el archivo normal IO, elaborado un poco en una entrevista con Digital Foundry :

Hay acceso de bajo y alto nivel y los creadores de juegos pueden elegir el sabor que quieran, pero es la nueva API de E/S la que permite a los desarrolladores aprovechar la velocidad extrema del nuevo hardware. El concepto de nombres de archivo y rutas se ha ido a favor de un sistema basado en ID que le dice al sistema exactamente dónde encontrar los datos que necesitan lo más rápido posible. Los desarrolladores simplemente necesitan especificar la ID, la ubicación de inicio y la ubicación final y unos pocos milisegundos después, se entregan los datos. Se envían dos listas de comandos al hardware, una con la lista de ID, la otra centrada en la asignación de memoria y la desasignación, es decir, asegurarse de que la memoria esté libre para los nuevos datos.

Deshacerse de los nombres de archivo y las rutas no gana mucho rendimiento por sí solo, especialmente porque el sistema todavía tiene que admitir una API de sistema de archivos jerárquico por el bien del código anterior. Los ahorros reales provienen de poder especificar todo el procedimiento de E/S en un solo paso en lugar de que la aplicación tenga que administrar partes como la descompresión y la reubicación de los datos en la memoria, ambos manejados por hardware de propósito especial en la PS5.

Para un ejemplo más público de lo que puede lograr un almacenamiento moderno de alto rendimiento, vale la pena mirar la API asincrónica io_uring agregada a Linux el año pasado. Lo usamos en nuestra última ronda de revisiones de SSD empresarialespara obtener un rendimiento y una latencia mucho mejores de las unidades más rápidas disponibles. Donde la E / S sincrónica de estilo antiguo de la vieja escuela superó un poco menos de 600k IOPS en nuestro servidor de 36 núcleos, io_uring permitió que un solo núcleo alcanzara las 400k IOPS. Incluso en comparación con las API de E / S asincrónicas anteriores en Linux, io_uring tiene una sobrecarga más baja y una mejor escalabilidad. El diseño de la API tiene aplicaciones que se comunican con el sistema operativo de una manera muy similar a la forma en que el sistema operativo se comunica con los SSD NVMe: pares de envío de comandos y colas de finalización a las que pueden acceder ambas partes. Se pueden enviar grandes lotes de comandos IO con, como máximo, una llamada al sistema, y ​​no se necesitan llamadas del sistema para verificar la finalización del comando. Esa es una gran ventaja en un mundo posterior a Spectre donde la sobrecarga de llamadas del sistema es mucho mayor.Experimentos recientes incluso han demostrado que el diseño io_uring permite que los programas de sombreado se ejecuten en unGPU para enviar solicitudes de E / S con una mínima participación de la CPU.

La mayor parte del trabajo relacionado con io_uring en Linux es demasiado reciente para haber influido en el desarrollo de la consola, pero aún ilustra una dirección general hacia la cual se mueve la industria, impulsada por las mismas necesidades de hacer un buen uso del rendimiento de NVMe sin perder demasiado tiempo de CPU .

Manteniendo la latencia bajo control

Si bien los desarrolladores de juegos deberán esforzarse para extraer el rendimiento completo de los SSD de la consola, hay un objetivo en competencia. Llevar un SSD a sus límites de rendimiento hace que la latencia aumente significativamente, especialmente si las profundidades de la cola superan lo necesario para saturar el disco. Esta latencia adicional no importa si la consola solo muestra una pantalla de carga, pero los juegos de próxima generación querrán mantener el juego funcionando de manera interactiva mientras transmiten grandes cantidades de datos. Sony ha delineado su plan para enfrentar este desafío: su SSD implementa una función personalizada para admitir 6 niveles de prioridad para los comandos IO, lo que permite cargar grandes cantidades de datos sin interferir cuando surge una solicitud de lectura más urgente. Sony no explicó gran parte del razonamiento detrás de esta función o cómo funciona, pero ‘Es fácil ver por qué necesitan algo para priorizar IO.


Cargando un nuevo mundo en 2.25 segundos mientras Ratchet & Clank caen a través de una grieta interdimensional

Mark Cerny dio un ejemplo hipotético de cuándo se necesitan múltiples niveles de prioridad: cuando un jugador se muda a una nueva área, es posible que se necesiten cargar muchas texturas nuevas, a varios GB por segundo. Pero dado que el juego no se ve interrumpido por una pantalla de carga, las cosas continúan sucediendo y un evento en el juego (por ejemplo, un personaje que recibe un disparo) puede requerir la carga de datos como un nuevo efecto de sonido. La solicitud de ese efecto de sonido se emitirá después de las solicitudes de varios GB de texturas, pero debe completarse antes de que se realice toda la carga de texturas porque el sonido de tartamudeo es mucho más notable y molesto que un ligero retraso en la carga gradual de nuevos Datos de textura.

Pero el estándar NVMe ya incluye una función de priorización, entonces, ¿por qué Sony desarrolló la suya propia? El SSD de Sony admitirá 6 niveles de prioridad, y Mark Cerny afirma que el estándar NVMe solo admite “2 niveles de prioridad real”. Un vistazo rápido a las especificaciones de NVMe muestra que no es tan simple:

La especificación NVMe define dos esquemas de arbitraje de comandos diferentes para determinar qué cola proporcionará el siguiente comando que manejará la unidad. El valor predeterminado es un simple balance de operación por turnos que trata todas las colas de E / S por igual y deja toda la priorización al sistema host. Las unidades también pueden implementar opcionalmente el esquema de round robin ponderado, que proporciona cuatro niveles de prioridad (sin contar uno solo para los comandos de administrador). Pero el detalle que aparentemente preocupa a Sony es que entre esos cuatro niveles de prioridad, solo se da prioridad estricta a la clase “urgente”sobre los otros niveles. La priorización estricta es la forma más simple de priorizar para implementar, pero tales métodos son una mala elección para los sistemas de propósito general. En un sistema especializado cerrado como una consola de juegos, es mucho más fácil coordinar todo el software que está haciendo IO para evitar puntos muertos e inanición. Gran parte del IO realizado por una consola de juegos también viene con requisitos de sincronización natural.

Esta gran atención que se le está dando al arbitraje de comandos es una sorpresa. La sabiduría convencional acerca de las unidades SSD NVMe es que, por lo general, son tan rápidas que la priorización de E / S es innecesaria, y perder el tiempo de la CPU al reordenar los comandos de E / S es igual de probable que reduzca el rendimiento general. En el espacio de la PC y el servidor, la característica de arbitraje de comandos NVMe WRR ha sido ignorada en gran medida por los fabricantes de unidades y los vendedores de sistemas operativos; una encuesta parcial de nuestra colección de SSD NVMe para consumidores solo mostró dos marcas que han habilitado esta característica en sus unidades. Entonces, cuando se trata de admitir actualizaciones de SSD de terceros, Sony no puede depender del uso de la función de arbitraje de comandos WRR. Esto podría significar que tampoco se molestarán en usarlo incluso cuando una unidad tenga esta característica, sino que dependerán completamente de su propio mecanismo administrado por la CPU y los coprocesadores de E / S.

Sony dice que la falta de seis niveles de prioridad en las unidades NVMe estándar significa que necesitarán un rendimiento bruto ligeramente mayor para que coincida con el mismo rendimiento del disco real de Sony porque Sony tendrá que emular los 6 niveles de prioridad en el lado del host, utilizando alguna combinación de CPU y coprocesador IO funciona. Según nuestras observaciones de los SSD empresariales (que están diseñados con un mayor enfoque en la QoS que los SSD de los consumidores), mantener el 15-20% del rendimiento en reserva generalmente mantiene la latencia bastante baja (aproximadamente 2 veces la latencia de un SSD inactivo) sin ningún otro mecanismo de priorización, por lo que proyectamos que las unidades con capacidad de 6.5GB / so más no deberían tener ningún problema.


Picos de latencia a medida que las unidades se acercan a su límite de rendimiento

Todavía es un misterio lo que Sony planea hacer con tantos niveles de prioridad. Ciertamente, podemos imaginar una jerarquía de varios niveles de prioridad para diferentes tipos de datos: quizás el código del juego es la prioridad más alta para cargar, ya que al menos un hilo de ejecución se detendrá por completo mientras se maneja una falla de página, por lo que estos datos se necesitan tan rápido como sea posible. posible (e idealmente debe mantenerse en RAM a tiempo completo en lugar de cargarse sobre la marcha). La búsqueda previa de texturas es probablemente la prioridad más baja, especialmente la búsqueda de mimpaps de mayor resolución cuando una versión de menor resolución ya está en RAM y se puede utilizar en el ínterin. La geometría puede ser una prioridad más alta que las texturas, porque puede ser necesaria para la detección de colisiones y las texturas son inútiles sin geometría para aplicarlas.Lo ideal es que los efectos de sonido se carguen con una latencia de al menos unas pocas decenas de milisegundos. Su patente menciona que se le da mayor prioridad a IO que se hace usando la nueva API, en la teoría de que es más probable que dicho código sea crítico para el rendimiento.

Planear seis clases de datos prioritarias para un motor de juego no es demasiado difícil, pero eso no significa que en realidad será útil desglosar las cosas de esa manera al interactuar con el hardware real. Recuerde que todo el punto de priorización y otros métodos de QoS es evitar el exceso de latencia. La latencia excesiva ocurre cuando le da al SSD más solicitudes de las que puede trabajar simultáneamente; Algunas de las solicitudes tienen que sentarse en la cola de comandos esperando su turno. Si hay muchos comandos en cola, un nuevo comando agregado al final de la línea tendrá mucho tiempo para esperar. Si un juego envía nuevas solicitudes al SSD PS5 a una velocidad total de más de 5.5GB / s, se acumulará una acumulación y la latencia seguirá creciendo hasta que el juego deje de solicitar datos más rápido de lo que el SSD puede entregar. Cuando el juego solicita datos a mucho menos de 5.5GB / s,Cada vez que se envía un nuevo comando de lectura al SSD, comenzará a procesar esa solicitud casi de inmediato.

Entonces, lo más importante es limitar la cantidad de solicitudes que pueden acumularse en las colas del SSD, y una vez que se resuelve ese problema, no hay mucha necesidad de una mayor priorización. Solo se necesita una cola para poner todos los comandos de E / S insensibles a la latencia de fondo para que se estrangulen, y luego todo lo demás se puede manejar con baja latencia.

Pensamientos finales

La transición de los juegos de consola al almacenamiento de estado sólido cambiará el panorama del diseño y desarrollo de videojuegos. Se está rompiendo una presa, y los desarrolladores de juegos pronto podrán ignorar las limitaciones de los discos duros y comenzar a explorar las posibilidades de almacenamiento rápido. Los juegos pueden tardar un tiempo en aprovechar al máximo el rendimiento de las nuevas SSD de la consola, pero habrá muchas mejoras tangibles disponibles en el lanzamiento.

Los efectos de esta transición también se extenderán al mercado de juegos de PC, ejerciendo presión para ayudar finalmente a sacar los discos duros de las PC de juegos de gama baja, y permitiendo a los jugadores con PC de gama alta comenzar a disfrutar de un mayor rendimiento de sus SSD rápidos hasta ahora subutilizados . Y los cambios en el sistema operativo Windows ya están en marcha debido a estas nuevas consolas.

En última instancia, será interesante ver si las partes novedosas de los nuevos subsistemas de almacenamiento de consola terminan siendo una ventaja real que influye en la dirección del desarrollo del hardware de la PC, o si terminan siendo solo peculiaridades interesantes que quedan en el polvo como PC El hardware finalmente supera las consolas con un rendimiento bruto superior. Las unidades SSD NVMe llegaron al extremo superior del mercado de consumo hace cinco años. Ahora, están cruzando un punto de inflexión y están en camino de convertirse en el estándar principal para el almacenamiento.

Una respuesta a «El almacenamiento importa: por qué los SSD de Xbox y Playstation marcan el comienzo de una nueva era de juegos»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *