¿Qué es la cola de comandos nativos?
La cola de comandos nativa es un sistema que permite que los discos duros de conexión de tecnología avanzada en serie (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 fueron recibidos del sistema principal. La cola de comandos nativa permite que la unidad reordene comandos para que el proceso de recuperación sea más eficiente. Esto acelera el tiempo de recuperación de información y disminuye el desgaste físico en el disco.
Los datos en un disco duro se almacenan en láminas magnéticas delgadas de papel llamadas platos. Cada unidad tiene varios platos, todos con información. Para leer y escribir en la bandeja, 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 es observado por un humano, los datos en un disco duro parecen totalmente aleatorios. Dos piezas de información relacionadas pueden estar ampliamente espaciadas en el disco. Para leer ambas piezas, el brazo encuentra el primero y luego se mueve en posición para ubicar el segundo. Si la unidad recibe un comando de lectura o escritura después de otro, el brazo deberá moverse constantemente para alinearse con los datos. Si cada uno de los comandos requiere que el brazo se mueva al 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 determinado. En esencia, realiza tantas operaciones en un área como sea posible, luego se mueve a un área diferente. Esto significa que la unidad ha reducido el tiempo de búsqueda y la espera entre comandos. Como beneficio adicional, la unidad pasa menos tiempo haciendo movimientos innecesarios. Esto reducirá el desgaste del disco en una pequeña cantidad.
Los sistemas avanzados pueden aprovechar otro beneficio de la cola de comandos nativa. Cuando un procesador está ocupado e incapaz de aceptar comandos, la unidad puede enviar todas las solicitudes de escritura al frente de la cola. Como el procesador está demasiado ocupado para aceptar comandos de lectura, la unidad puede elegir 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 usa 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. Como son tan rápidos, a menudo funcionarán más rápido que el resto del sistema y terminarán con un cuello de botella. Al usar la cola de comandos nativa, pueden reordenar sus comandos para enviar lecturas siempre que sea posible y escribir cuando el sistema se atrasa.