¿Qué es la cola de comandos nativa?

La cola de comandos nativa es un sistema que permite que los discos duros de conexión en serie de tecnología avanzada (SATA) controlen su propia cola interna de solicitudes de lectura y escritura. En los sistemas que no utilizan la cola de comandos nativa, la unidad ejecuta los comandos en el orden en que se recibieron del sistema principal. La cola de comandos nativa permite que la unidad reordene los comandos para que el proceso de recuperación sea más eficiente. Esto acelera el tiempo de recuperación de la información y reduce el desgaste físico de la unidad.

Los datos en un disco duro se almacenan en hojas magnéticas delgadas como papel llamadas platos. Cada unidad tiene varios platos, todos con información. Para leer y escribir en el plato, los discos duros usan un brazo similar al de un tocadiscos. A medida que el plato gira, el brazo se mueve hacia adelante y hacia atrás sobre las secciones del plato que contienen los datos.

Cuando los observa un humano, los datos de un disco duro parecen totalmente aleatorios. Dos piezas de información relacionadas pueden estar muy espaciadas en la unidad. Para leer ambas piezas, el brazo encuentra la primera y luego se mueve en posición para localizar la segunda. Si la unidad recibe un comando de lectura o escritura tras otro, el brazo deberá moverse constantemente para alinearse con los datos. Si cada uno de los comandos requiere que el brazo se mueva hacia el lado opuesto del mismo plato, se pierde una gran cantidad de tiempo en el proceso de ida y vuelta.

Al utilizar la cola de comandos nativa, la unidad puede elegir el orden en el que ejecuta un conjunto de comandos dado. En esencia, realiza tantas operaciones en un área como sea posible y luego se traslada a un área diferente. Esto significa que la unidad ha reducido el tiempo de búsqueda y la espera entre comandos. Como beneficio adicional adicional, el variador dedica menos tiempo a realizar movimientos innecesarios. Esto reducirá el desgaste de la unidad en una pequeña cantidad.

Los sistemas avanzados pueden aprovechar otro beneficio de la cola de comandos nativa. Cuando un procesador está ocupado y no puede aceptar comandos, la unidad puede enviar todas las solicitudes de escritura al principio de la cola. Dado que el procesador está demasiado ocupado para aceptar comandos de lectura, la unidad puede optar por no resolver ninguno. Esto puede resultar en una gran mejora del rendimiento, especialmente en sistemas con múltiples unidades y múltiples núcleos.

Esta tecnología también se utiliza en algunas formas de unidades de estado sólido. Estas unidades no utilizan el sistema de brazo y plato de las unidades estándar, por lo que generalmente funcionan mucho más rápido. Dado que son tan rápidos, a menudo funcionan más rápido que el resto del sistema y terminan con un cuello de botella. Al utilizar la cola de comandos nativa, pueden reordenar sus comandos para enviar lecturas siempre que sea posible y escribir cuando el sistema se atrasa.