Las unidades DRAM-Less SSD son un tipo de SSD que cómo su nombre indica no tienen memoria DRAM integrada y por tanto son mucho más baratos que los SSD convencionales. Pero, ¿cómo afecta la falta de RAM en un SSD de este tipo y por qué? En este articulo os explicamos como es el acceso de los datos a un SSD, como afecta la falta de DRAM en algunos SSD y cuál es el futuro de este tipo de periféricos.
Una unidad SSD es por ahora mucho más cara que un disco duro en cuanto al coste del almacenamiento, a esto le hemos de sumar los periodos en los que la RAM sube de precio o sufre de escasez. En esos tiempos es cuando los discos SSD DRAM-Less son los que son más baratos si comparamos su capacidad de almacenamiento por precio con otros SSD. Pero, ¿son los adecuados en cuanto a rendimiento?
El controlador Flash en las unidades SSD
Para comprender la existencia del Controlador Flash tenemos que entender es la forma en la que la CPU se comunica con los periféricos en PC, siendo esta la que llamamos Memory Mapped I/O, lo que se traduce en E/S por mapeado de memoria. Esta técnica consiste en asignarle a cada periférico una serie de direcciones de memoria. De tal manera que cuando la CPU realiza una petición a dicha dirección de memoria entonces se esta comunicando con esa dirección de memoria.
La ventaja que tiene esto, de cara a comunicarse con el resto de memorias del sistemas, es que esto les permite ver el resto de memorias como un pozo universal de RAM. Incluso le permite a la CPU poder comunicarse con la memoria de los diferentes periféricos como si fuese parte de su propia memoria.
Esto es gracias a que la CPU utiliza un sistema de direcciones virtuales que sufre una transformación en direcciones físicas en el proceso. No vamos a entrar en este artículo sobre el acceso a la RAM, pero si que necesitamos que tengamos en cuenta que cada memoria del sistema tiene su propio direccionamiento físico, por lo que para realizar el acceso a dicha memoria es necesaria una unidad encargada de traducir las direcciones, en el caso de la RAM es el controlador de memoria, el cual se encuentra a día de hoy integrado en las CPUs.
En el caso de los discos SSD o de estado sólido existe el controlador flash, su tarea es la misma que el controlador de memoria RAM, pero en vez de hacerlo con la memoria RAM lo hace con la memoria flash que se encuentra en la unidad SSD. Al contrario que el controlador de memoria este a día de hoy no se ha integrado dentro de la CPU.
¿Por qué la mayoría de SSD tienen memoria DRAM?
A la hora de acceder a cualquier tipo de memoria es necesario un mapa de memoria, el cual es una estructura de datos que le dice a la CPU como esta organizada la memoria. En las CPU con soporte de memoria virtual hace referencia a las Page Tables, las cuales almacenan la correspondencia entre el direccionamiento virtual que utiliza la CPU para comunicarse con la memoria y el direccionamiento físico y real de la memoria.
Las Page Tables se almacenan habitualmente en la RAM y son utilizados no por la CPU misma sino por una de sus unidades, la MMU, la cual esta dentro del controlador de memoria y es la unidad que se encarga del manejo de la memoria RAM. Antes os hemos comentado que el funcionamiento del controlador Flash es el mismo que el controlador de la memoria RAM, pero para la memoria flash.
¿El problema? El proceso de traslado de direcciones requiere memoria muy rápida, por lo que no se puede realizar en la NAND Flash, ya que la latencia de acceso sería lo suficientemente alta como para eliminar por completo todas las ventajas del SSD. Es por ello que la mayoría de SSD tienen un pozo de memoria RAM, el cual le sirve para guardar la tabla de traslado de direcciones y poder acceder de la manera más rápida posible a los datos que requiere le pide la CPU.
¿Por qué el rendimiento en un SSD DRAM-Less es menor?
Si, y son llamados DRAMLess, ¿su particularidad? Son mucho más baratos que los SSD convencionales por el hecho que no traen memoria DRAM integrada en los mismos. La falta de un pozo de memoria DRAM fuerza al Controlador Flash en SSD DRAMLess a buscar la segunda memoria más rápida que tiene accesible, la cual aunque parezca contraproducente por la distancia es la RAM del sistema en vez de la NAND Flash que se encuentra en el propio SSD.
Esto significa que en un SSD DRAM-Less para acceder a la tabla de direcciones va a tener que hacer una petición como periférico a la IOMMU y esta la hará a la RAM del sistema. El motivo por el cual no lo hace a la NAND Flash que esta más cercana es por qué tal nivel de actividad acabaría por desgastar el SSD mucho más rápido, acortando la vida útil del disco SSD.
Eso si, hay casos en los que el Controlador Flash no utiliza la RAM del sistema para acceder, sino la propia memoria NAND Flash. ¿Qué consecuencias tiene esto? Un desgaste mucho más rápido de los ciclos de lectura y escritura de los chips NVMe del SSD, lo cual provocará una vida menor de la unidad SSD.
El futuro de los SSD DRAM-Less
Una de las cosas que se busca en el futuro gracias a la adopción de tecnologías como el CXL, la cual se integrará a partir del PCI Express 5.0, es el hecho de que los periféricos puedan acceder al espacio de memoria RAM de manera directa sin tener que pasar por la unidad IOMMU, esto significará que los discos SSD DRAM-Less serán más rápidos.
Esta posibilidad se traduce en que el controlador de memoria integrado en las CPUs doble como controlador de la memoria Flash, permitiendo que los chips de memoria NVMe se puedan acceder de manera directa. A esto hay que añadirle la existencia de DIMMs que no tienen chips de memoria RAM, sino de memoria no volátil. ¿vamos a ampliar el almacenamiento de nuestros PCs del futuro con DIMMs? Quien sabe, la tecnología esta ahí.
La otra posibilidad es el uso de memoria embebida, en especial utilizando configuraciones 3DIC para colocar encima del controlador de memoria la DRAM utilizada como caché. La DRAM seguiría estando pero no en un chip aparte sino embebida en el controlador de memoria a través de una interconexión vertical. Debido a la cercanía de esta memoria sería más rápida
Ambos conceptos los veremos a futuro, aunque en el segundo caso lo veremos más bien en CPUs sin el controlador Flash integrado dentro de las mismas.
Te puede interesar: ¿Es mejor comprar un SSD SATA de gama alta, o un NVMe de gama baja?
[Información e imágenes tomadas de hardzone.es]