No hay duda que los discos sólidos son una alternativa superior en cuanto a rendimiento a los discos mecánicos de toda la vida, y no obstante no están exentos de elementos que limitan su rendimiento y les impiden alcanzar la velocidad máxima y un funcionamiento óptimo. Os explicamos cuáles son los componentes que pueden causar un cuello de botella y hacer que no todos los SSD rindan de la misma manera.
Dispositivos de estado sólido hay de muchos tipos, y abarcan todo tipo de capacidades de almacenamiento, interfaces, factores de forma, etc., pero no todos rinden de la misma manera y aunque todos ellos son mejores que tener un disco duro convencional, algunos lo son más que otros.
Cuello de botella de los SSD
Hemos decidido enumerar una serie de cuellos de botella que afectan al rendimiento de los diferentes SSD para que tengáis una mejor idea de cuáles son las limitaciones de los discos sólidos y entendáis mejor el motivo por el cual hay especificaciones tan dispares.
La comunicación del SSD con el sistema
Dependiendo de la interfaz en la que conectemos al PC nuestros SSDs se obtiene un rendimiento mayor o menor, simplemente por el hecho que la velocidad de transferencia entre el disco sólido y el sistema variará dependiendo del protocolo de dicha interfaz.
El ancho de banda teórico de una interfaz SATA II se queda en 300 MB/s mientras que el más moderno SATA III lo establece en 600 MB/s, mucho más alto que lo que alcanza un disco duro mecánico bajo las mismas condiciones por el hecho que su naturaleza como formato de disco giratorio no le permite alcanzar los 200 MB/s.
A día de hoy todas las placas base soportan SATA III, pero su velocidad no es la misma que la de una interfaz PCI Express, la cual en su versión 3.0 alcanza hasta 1 GB/s por línea, por lo que los discos SSD que utilizan PCIe Gen3 x4 pueden llegar en teoría a los 4 GB/s. Dicho ancho de banda se duplica en el caso de la versión 4.0 del estándar con 2 GB/s por línea PCIe, por lo que un SSD PCIe Gen4 x4 puede llegar a los 8 GB/s si otros elementos no limitan su velocidad.
La DRAM integrada en el SSD
La mayoría de SSDs llevan DRAM integrada. Se trata de memoria RAM convencional (DDR4, LPDDR4, …) la cual es utilizada como caché de datos intermedia; gracias a su mayor ancho de banda esto permite el acceso de manera más rápida a los datos por parte del procesador cliente hacia/desde los datos del SSD. Dependiendo del tipo de memoria DRAM utilizada el rendimiento variará.
Pero algunos SSD se venden como DRAM-less y carecen de memoria RAM, por lo que son más baratos. Tienen la particularidad de ser más rápidos que un disco duro convencional pero la falta de DRAM hace que sean mucho más lentos que un SSD con memoria DRAM integrada.
La controladora del SSD puede hacer cuello de botella
Todo SSD tiene un chip encargado de recibir las peticiones desde el procesador, y es el que se encarga de gestionar la búsqueda de los datos en la memoria del SSD. Para entender el funcionamiento de este chip imaginad que vais a una oficina de Correos y le preguntáis al encargado que busque vuestro correo en una casilla concreta y os lo traiga. O, en su defecto, le pedís que guarde correo en una taquilla en concreto.
En este símil, el encargado de Correos vendría a ser el controlador del SSD, el número de taquilla es la dirección de memoria en el SSD y el correo son los datos que almacenamos en esa dirección de memoria. El rendimiento de un SSD va a depender también del rendimiento del controlador integrado en el disco sólido.
Los canales soportados por el SSD
Hoy en día todos los PCs que tenemos en casa son multinúcleo, y esto se traduce en que varias CPUs virtuales trabajando en paralelo necesitan tener acceso al SSD simultáneamente. Además, con la adopción de DirectStorage también las GPUs van a ser clientes de los discos SSD, aumentando así la presión sobre estos y generando un potencial cuello de botella.
Cuando decimos que un SSD tiene N canales estamos diciendo que N elementos pueden tener acceso simultáneo a los datos del mismo, y por lo general el número de canales está relacionado con el número de chips de memoria Flash incluidos en el SSD. También se ha de tener en cuenta que hay discos sólidos que tienen asignado más de un chip por canal.
¿Cuántos elementos tienen acceso al SSD de forma simultánea? Volviendo al ejemplo anterior del encargado de Correos, si nos encontramos que en la oficinal hay un solo encargado entonces se formará una cola de gente esperando ser atendida. Pensad en los canales como varios encargados trabajando cada uno de ellos en una petición distinta.
El problema viene cuando los chips de memoria Flash utilizados no soportan una gran cantidad de puertos y por tanto no pueden cumplir con varias peticiones simultáneas al mismo tiempo.
La forma en la que el controlador del SSD organiza los datos
La forma en la que se almacenan los datos en el SSD también influencia el rendimiento del mismo.
Imaginemos que tenemos que almacenar la palabra “Gato” y le decimos al controlador/encargado que nos la almacene. Cada letra de la palabra ocupa una taquilla.
- El primer método es guardar “Gato” en cuatro taquillas que estén disponibles dentro del primer taquillero.
- El segundo método es separar la palabra en 4 partes y almacenar cada parte en una taquilla diferente pero cada una en un taquillero distinto.
En el primer ejemplo, el encargado/controlador tiene que hacer 4 accesos a la memoria/taquillero para encontrar cuatro taquillas libres que le permitan almacenar las cuatro letras. Cuando necesitamos recuperar la palabra el propio controlador tendrá que buscar las cuatro taquillas donde están los datos y traerlos uno por uno.
En el segundo ejemplo, tenemos cuatro encargados trabajando al mismo tiempo, cada uno de ellos tiene acceso a un taquillero/chip de memoria y a todos se les da el mismo número de taquilla; dado que trabajan de manera simultánea el acceso al dato se obtiene con una sola búsqueda y no con cuatro.
Estos son los cinco cuellos de botella que hacen que el rendimiento de un disco SSD no llegue a las cifras óptimas.
Fuente: hardzone.es/tutoriales/rendimiento/componentes-cuello-botella-ssd/