¿Qué hay en el hardware que hace que la RAM sea más rápida que la unidad?

¿Qué hay en el hardware que hace que la RAM sea más rápida que la unidad?

No puedo encontrar nada sobre los detalles de QUÉ exactamente hace que la RAM sea mucho más rápida que las unidades de disco/SSD. ¿En qué se diferencia la forma en que la RAM lee y escribe datos respecto al almacenamiento permanente? ¿Qué es tan fundamentalmente diferente entre ellos que conduce a diferencias tan drásticas? Almacenamiento permanente versus temporal. Lectura/escritura lenta versus rápida. ¿Qué hay en RAM que lo hace mucho más rápido?

Respuesta1

Hay muchas diferencias entre lo que sucede a nivel físico y lo que sucede en la interfaz entre la CPU y los dispositivos que afectan la velocidad de estos dispositivos.

Nota: existen otros tipos de RAM (FeRAM, PRAM, etc.) y otros sistemas de almacenamiento; a los efectos de la discusión, solo estoy considerando los componentes principales utilizados en las computadoras.

Diferencias fisicas

Existe una diferencia fundamental entre un cambio de estado electrónico "simple" que se utiliza en la RAM y un cambio del mundo físico que se utiliza en dispositivos HDD y SSD.

La RAM convencional utiliza un puñado de transistores para mantener un estado. Los transistores son dispositivos intrínsecamente rápidos que funcionan exclusivamente con corrientes eléctricas. Funcionan de la misma manera que la CPU y su velocidad también tiene la desventaja de que son volátiles, lo que significa que si alguna vez se corta la energía, los datos se pierden.

Los discos duros tienen un cambio mucho más físico. En lugar de cambiar el estado de un circuito electrónico, esencialmente estás intentando forzar un cambio en el medio físico. Con un HDD es un proceso similar a remagnetizar una aguja, es necesario usar un imán para empujar los átomos para alinear sus campos magnéticos y el proceso es relativamente lento en comparación con un interruptor de transistor puramente electrónico.

Las unidades de estado sólido (SSD) son un extraño punto intermedio entre la RAM normal y los discos duros; son esencialmente un dispositivo de almacenamiento electrónico, pero para poder escribir en ellos todavía es necesario realizar un cambio físico. Los electrones deben ser forzados a entrar en un área a la que normalmente no quieren ir utilizando un voltaje más alto. Ese voltaje más alto y el acto de fuerza de escritura requieren más trabajo que un simple cambio de estado de un transistor. La lectura es un poco más complicada y también lo hace un poco más lento allí. He escrito más sobre cómo funciona el almacenamiento flash.en esta respuesta.

Diferencias de interfaz

También hay que considerar la naturaleza de la interfaz de estos dispositivos. Los dispositivos de almacenamiento como HDD y SSD tienen un controlador y una interfaz que combina direcciones y líneas de datos en una interfaz de comando basada en protocolo. Para hacer cualquier cosa, tenemos que enviar un comando que indique give me the data from block 3192o write this <data> to block 549,321,974que el controlador debe decodificar y luego poner en acción. Debido a la naturaleza giratoria de un disco duro físico, funcionan mejor cuando cada solicitud de datos sigue a los datos anteriores en secuencia.

Los SSD son un dispositivo mucho más indulgente y realmente no les importa que las solicitudes de datos estén en secuencia, pero aún necesitan el controlador en el dispositivo para manejar los comandos enviados a través de la interfaz "simple".

Las interfaces HDD y SSD a su controlador (y las interfaces modernas basadas en protocolos en general) funcionan en modo "serie". Lo que esto significa es que hay esencialmente una única línea de datos que debe alternarse repetidamente para crear un comando. Para transferir un solo byte de datos, la línea serie debe alternar al menos 8 veces. Además de los datos, tiene muchos "sobrecargas" al enviar bytes para comandos que le indican al controlador si le está pidiendo que lea o escriba.

La RAM, por otro lado, tiene una interfaz con la CPU que es muy amplia y también es una interfaz "paralela". Tiene múltiples direcciones y líneas de datos y no necesita ningún controlador real (excepto el controlador de memoria integrado en la CPU) para manejar la entrada y salida de datos. La CPU cambia las líneas de dirección a lo que quiere, establece otro par de líneas para indicar si está leyendo o escribiendo y luego comienza a enviar datos en múltiples líneas de datos. Es una disposición mucho más compleja, pero gracias al bus de datos "ancho" dedicado se pueden enviar bloques de datos más grandes a la vez, logrando como resultado mayores velocidades masivas.

He escrito más sobre las diferencias de interfaz en mirespuesta sobre por qué la memoria de acceso aleatorio se llama "acceso aleatorio"

información relacionada