¿Por qué la E / S de disco es más lenta que el acceso a RAM?

Por qué la RAM es RÁPIDA

Los tiempos de acceso a la RAM se miden en nanosegundos, mientras que el tiempo de acceso al disco se mide en milisegundos. Los nanosegundos son un millón de veces más rápidos que los milisegundos.

Los tiempos típicos de RAM se enumeran como 15–15–15–14–36, y le dan una indicación de la cantidad de ciclos de reloj de RAM que se necesitan para acceder a una dirección en RAM.

El primer número es CAS Latency , mientras que el segundo es CAS , lo que significa estroboscopio de dirección de columna. El tercer número ( RAS ) es, por supuesto, el estroboscopio de dirección de fila.

Entonces, digamos que nuestro sistema tiene DDR4–2666 RAM, que funciona a 1333 MHz, o .75ns por ciclo de reloj. Nuestra latencia CAS es 15 veces .75ns, o 11.25ns. Los tiempos de estos números en el BIOS generalmente se redondean al siguiente número entero adicional, por lo que 11.25ns en la RAM se traduce en 13ns en el tiempo del BIOS.

Para hacer un acceso aleatorio en cualquier lugar en nuestro DIMM RAM hipotético, se necesitan 13ns de latencia , 13ns para que la dirección de la columna sea estroboscópica y 13ns para que la dirección de la fila sea estroboscópica. Por lo tanto, abordar un byte particular de datos en esta RAM tomaría aproximadamente 39ns.

Por qué los discos duros son lentos

Una unidad mecánica tiene que hacer todo lo que la RAM tiene que hacer para acceder a una dirección, y mucho más. Las unidades tienen memorias caché de instrucciones basadas en RAM incorporadas, además de firmware, además de controles del motor del actuador para colocar los cabezales de lectura / escritura perfectamente en línea con el cilindro de accionamiento al que se accede. Y luego hay el mismo proceso a la inversa para llevar la información desde la superficie magnética del disco a la memoria caché de RAM y luego a un procesador de señal digital para enviarla a lo largo del bus SATA a la RAM del sistema.

Notará no menos de cuatro transferencias electrónicas de datos basadas en RAM y dos acciones mecánicas involucradas (motor del actuador angular y disco giratorio) que suman mucho tiempo. Las unidades de disco más rápidas pueden realizar escrituras aleatorias en aproximadamente 6 milisegundos, lo que recordará fácilmente es igual a 6,000,000 de nanosegundos.

Las lecturas aleatorias tardan aproximadamente el doble, ya que los datos deben hacer un viaje de ida y vuelta. Las lecturas de disco extremadamente rápidas suman aproximadamente 15 milisegundos, lo que nuevamente es el equivalente a 15,000,000 de nanosegundos.

¡Eso es bastante lento en comparación con 39 nanosegundos!

Entonces, si alguien te dice que la RAM es un millón de veces más rápida que un disco duro, sabrás que solo tienen la mitad de la razón.

Por “más lento” puede significar una latencia más alta. Los discos giratorios, por supuesto, deben moverse, por lo que tardan más que los dispositivos de estado sólido. No hay ninguna razón inherente para que SSD tenga una latencia más alta que DRAM, aunque el primero usa una interfaz diseñada para transferencias más grandes (que por lo tanto toman más tiempo).

Si más rápido / más lento se refiere al ancho de banda, no es el caso de que el almacenamiento sea más lento: puede hacer que una interfaz parpadee tan amplia como DRAM, y esperar competir. En principio, también puede hacer lo mismo con discos giratorios (muchos discos en paralelo).

Una cosa que mantiene a los SSD separados del rendimiento de DRAM es la necesidad de reasignar bloques de flash para nivelar el desgaste.