En una computadora, el controlador de disco es un circuito que permite que la unidad central de procesamiento (CPU) se comunique con otros discos de computadora, como un disquete, disco duro o algún otro tipo de unidad de disco. Los controladores de disco utilizan interfaces como Advanced Technology Attachment (ATA) y Integrated Drive Electronic (IDE), que se utilizan con mayor frecuencia en ordenadores personales (PC), y Small Computer System Interface (SCSI), que se utiliza con mayor frecuencia en ordenadores de » clase empresarial ”. Las operaciones básicas de los controladores de disco incluyen variaciones en las operaciones de lectura y escritura. El sistema operativo (SO) del controlador usa bloques numerados, mientras que el disco usa otros factores, incluido el cilindro físico, los números de sector y la pista para operar. Un controlador de dispositivo realiza el mapeo.
Las interfaces comunes ATA e IDE que utilizan los controladores de disco operan mediante conjuntos de registros, que se encuentran en varios puntos de la dirección de entrada / salida (E / S). Estos registros se utilizan para especificar información sobre solicitudes de E / S independientes. Al escribir el «registro de comando» del dispositivo, el controlador de disco comienza a realizar una operación solicitada. Ciertas transferencias de datos ocurren entre la memoria de una computadora y su disco cuando el bit designado como «solicitud de datos» se establece en un registro de estado. Esto ocurre en las operaciones de escritura de un controlador de disco poco después de que se envía un comando, y en las operaciones de lectura, un comando de interrupción indica la disponibilidad de datos.
Los controladores de disco tienen ciertos registros de controlador que realizan diferentes funciones. En un registro, los bytes de datos se leen y escriben, pero los comandos están configurados para ser leídos o escritos en un registro completamente diferente. Otro registro es el «registro de errores» que produce errores de código. Dos registros operan en conjunto e indican el número de cilindro de un controlador de disco, mientras que otro registro indica un número de unidad o cabezal. Los dos últimos registros se utilizan para indicar el número de sectores a leer / escribir y el número de sector.
Existen diferentes tipos de controladores de disco que pueden ser un componente de una computadora. Un tipo de controlador de disco es el controlador de matriz de disco, que administra el componente de la unidad de disco físico y lo presenta a una computadora en términos de unidades lógicas. Implementa el hardware de matriz redundante de discos independientes (RAID) y, con frecuencia, se conoce con el nombre de controlador RAID. El controlador de disco duro estándar (HDC) es una interfaz que permite a las computadoras leer / escribir información en una unidad de disco duro (HD). Un controlador de disco forense es un HDC que está especializado para obtener acceso de solo lectura desde unidades HD de computadoras sin dañar el contenido de su unidad.